Blog

  • SVHNClassifier-PyTorch

    SVHNClassifier-PyTorch

    A PyTorch implementation of Multi-digit Number Recognition from Street View Imagery using Deep Convolutional Neural Networks

    If you’re interested in C++ inference, move HERE

    Results

    Steps GPU Batch Size Learning Rate Patience Decay Step Decay Rate Training Speed (FPS) Accuracy
    54000 GTX 1080 Ti 512 0.16 100 625 0.9 ~1700 95.65%

    Sample

    $ python infer.py -c=./logs/model-54000.pth ./images/test-75.png
    length: 2
    digits: 7 5 10 10 10
    

    $ python infer.py -c=./logs/model-54000.pth ./images/test-190.png
    length: 3
    digits: 1 9 0 10 10
    

    Loss

    Requirements

    • Python 3.6

    • torch 1.0

    • torchvision 0.2.1

    • visdom

      $ pip install visdom
      
    • h5py

      In Ubuntu:
      $ sudo apt-get install libhdf5-dev
      $ sudo pip install h5py
      
    • protobuf

      $ pip install protobuf
      
    • lmdb

      $ pip install lmdb
      

    Setup

    1. Clone the source code

      $ git clone https://github.com/potterhsu/SVHNClassifier-PyTorch
      $ cd SVHNClassifier-PyTorch
      
    2. Download SVHN Dataset format 1

    3. Extract to data folder, now your folder structure should be like below:

      SVHNClassifier
          - data
              - extra
                  - 1.png 
                  - 2.png
                  - ...
                  - digitStruct.mat
              - test
                  - 1.png 
                  - 2.png
                  - ...
                  - digitStruct.mat
              - train
                  - 1.png 
                  - 2.png
                  - ...
                  - digitStruct.mat
      

    Usage

    1. (Optional) Take a glance at original images with bounding boxes

      Open `draw_bbox.ipynb` in Jupyter
      
    2. Convert to LMDB format

      $ python convert_to_lmdb.py --data_dir ./data
      
    3. (Optional) Test for reading LMDBs

      Open `read_lmdb_sample.ipynb` in Jupyter
      
    4. Train

      $ python train.py --data_dir ./data --logdir ./logs
      
    5. Retrain if you need

      $ python train.py --data_dir ./data --logdir ./logs_retrain --restore_checkpoint ./logs/model-100.pth
      
    6. Evaluate

      $ python eval.py --data_dir ./data ./logs/model-100.pth
      
    7. Visualize

      $ python -m visdom.server
      $ python visualize.py --logdir ./logs
      
    8. Infer

      $ python infer.py --checkpoint=./logs/model-100.pth ./images/test1.png
      
    9. Clean

      $ rm -rf ./logs
      or
      $ rm -rf ./logs_retrain
      
    Visit original content creator repository https://github.com/potterhsu/SVHNClassifier-PyTorch
  • WEATHER-APP

    Weather App using Flet and Python

    This is a simple weather mobile application developed using the Flutter framework and Python. The app allows users to input a city name and retrieve the corresponding weather information. It utilizes an API to fetch weather data and displays it using various components provided by the Flutter framework through the flet package.

    Demo

    Untitled.video.-.Made.with.Clipchamp.6.mp4

    Technologies Used

    • Flutter Logo
      • Flutter: Flutter is an open-source UI software development kit created by Google. It is used for building natively compiled applications for mobile, web, and desktop from a single codebase.
    • flet Logo
      • flet: flet is a Python package that provides a set of Flutter widgets for building user interfaces using the Python programming language.
    • Python Logo
      • Python: Python is a versatile and widely-used programming language known for its readability and simplicity. It is used in this project to create the backend logic and interaction with APIs.

    Features

    • User-friendly interface to input a city name.
    • Real-time weather data retrieval using a weather API.
    • Display of relevant weather information such as temperature, conditions, humidity, etc.
    • Cross-platform compatibility for both Android and iOS devices.

    Installation

    1. Clone this repository to your local machine:
    git clone https://github.com/vikasharma005/WEATHER-APP.git
    1. Navigate to the project directory:
    cd WEATHER-APP
    1. Install the required dependencies:
    # Assuming you have Flutter and Python set up
    flutter pub get
    pip install flet

    Usage

    1. Run the Flutter app on your connected device or emulator:
    flet -r main.py
    1. Input the desired city name in the app’s input field and submit.

    2. The app will fetch the weather data using the API and display it on the screen.

    API Usage

    This app utilizes the Weather API to retrieve weather data. You need to obtain an API key and replace it in the code where the API is called.

    // lib/services/weather_service.dart
    
    const String apiKey = 'YOUR_API_KEY';
    const String baseUrl = 'https://api.yourweatherapi.com';
    
    // ...

    Contributing

    Contributions to this project are welcome! If you find any issues or want to enhance the app, feel free to submit a pull request.

    License

    This project is licensed under the MIT License. See the LICENSE file for details.


    Feel free to customize and expand upon this template to provide more information about your project, its features, setup, and usage. Make sure to replace placeholders like YOUR_API_KEY, https://yourweatherapi.com/, and others with your actual information.

    Visit original content creator repository https://github.com/vikasharma005/WEATHER-APP
  • timeline-widget-for-elementor

    Elementor Timeline – Vertical & Horizontal Timeline

    Share your brand story or your company’s history with an outstanding timeline design using the advanced Timeline Widget for Elementor.
    With this Elementor Timeline Widget , you can easily create a stunning timeline in just a few clicks, choosing from three different timeline layouts:-

    View Free Demo | ⭐ View Pro Demo | ⭐ Buy PRO

    https://youtu.be/YGpTusgTQJc

    It is really important to let your audience know about your brand history. Our timeline plugin will help you to highlight your company history or life story. You can show history/future stories, events, appointments, and many other cool things using this timeline widget.

    🌟 Here are all areas where you can use this plugin:-

    • Highlight your company’s achievements and significant milestones.
    • Historical Timelines.
    • Showcase tutorial/process steps in timeline format.
    • Create a program timeline.
    • Timeline is the best way to represent history.
    • Create events timeline.
    • Job stories/achievements timeline.
    • Personal story timeline.
    • Work experience timeline
    • Step-by-step guide
    • Events Timeline
    • Product Roadmap
    • Brand Story
    • Roadmap

    It is an Elementor Website Builder Addon. In order to use this Elementor addon you must have to install Elementor Website Builder.

    🌟 Timeline Widget PRO Features

    • Preset Styles
      One click setup a beautiful timeline – elegant, minimal, classic & more styles..
    • Post Timeline
      Show your blog posts in a timeline layout anywhere on the website.
    • Advance Style Settings
      Design your timeline with advanced style settings
    • Animation Effect
      It has 15+ animation effects, fade-in, flip-up, zoom, etc.
    • Colors & Typography
      Use the advanced settings option to manage text size and colors.
    • Custom Color Story
      Easily apply different colors to each story in a timeline.
    • Image / Video / Slideshow
      Add an image, video, or slideshow image.
    • Ajax Load More
      Load stories with page scroll via Ajax pagination.
    • Icons in Timeline
      Font Awesome icon, custom text, or image as timeline Icon.
    • ⭐ Buy PRO

    Check our Timeline plugins demos

    📌 Cool Timeline – #1 Timeline Plugin (200000+ Downloads)

    Cool Timeline is a responsive WordPress timeline plugin based on a WordPress post-type system. It works inside any theme or page builder using these simple steps:-

    1. Create stories one by one inside Timeline Stories post type (similar to you submit a blog post).
    2. Now open any page or create a new page and add a timeline shortcode on it – [cool-timeline].
    3. You can showcase your timeline in a horizontal or vertical layout with 20+ different designs and custom colors.

    Cool Timeline automatically showcases timeline stories post-type posts in any ASC or DESC order, based on the year and date of stories.

    ⭐ Cool Timeline Pro Demo | ⭐ Cool Timeline Free Demo

    You can show your stories, events, appointments, concerts, future & history happenings by using Cool Timeline plugin on your website.

    Visit original content creator repository
    https://github.com/narinder9/timeline-widget-for-elementor

  • Image-Search-Engine

    Image Search Engine (RAG-Retrieval-Augmented Generation)

    Description

    The Image Search Engine is a modern AI-powered web application leveraging Retrieval-Augmented Generation (RAG) to combine large language models (LLMs) with advanced image retrieval techniques. Designed for seamless user experience, this tool allows users to upload and search through images in a highly accurate, visually engaging way. Utilizing vector embeddings through OpenAI’s models, the engine achieves context-aware search results that surpass traditional keyword-based searches—ideal for image-heavy applications like e-commerce.

    Features

    • Image upload with drag-and-drop support
    • Image search functionality using vector embeddings
    • Responsive grid layout for displaying search results
    • Modern UI with smooth animations and transitions
    • Integration with Google Drive for image storage
    • Utilization of OpenAI’s embeddings models for advanced search capabilities

    Technology Stack

    • Frontend: React.js with Tailwind CSS for styling
    • Backend: FastAPI with PostgreSQL and pgvector
    • Image Storage: Google Drive
    • Vector Embeddings: OpenAI embeddings models
    • API: RESTful API for image upload and search

    Installation

    Prerequisites

    • Node.js and npm
    • Python 3.7+
    • PostgreSQL with pgvector extension
    • Google Drive API credentials

    Frontend Setup

    1. Clone the repository:

      git clone https://github.com/TNAHOM/Image-Search-Engine.git
      cd Image-Search-Engine/frontend
      
    2. Install dependencies:

      npm install
      
    3. Create a .env file in the frontend directory and add necessary environment variables:

      REACT_APP_API_URL=http://localhost:8000
      
    4. Start the development server:

      npm start
      

    Backend Setup

    1. Navigate to the backend directory:

      cd ../backend
      
    2. Create a virtual environment and activate it:

      python -m venv venv
      source venv/bin/activate  # On Windows, use `venv\Scripts\activate`
      
    3. Install required packages:

      pip install -r requirements.txt
      
    4. Create a .env file in the backend directory and add necessary environment variables:

      DATABASE_URL=postgresql://username:password@localhost/dbname
      OPENAI_API_KEY=your_openai_api_key
      GOOGLE_DRIVE_CREDENTIALS_FILE=path/to/your/credentials.json
      
    5. Set up the database:

      alembic upgrade head
      
    6. Start the FastAPI server:

      uvicorn main:app --reload
      

    Usage

    1. Uploading Images:

      • Drag and drop an image into the upload area, or click to select a file.
      • Click the “Upload Image” button to submit the image.
    2. Searching Images:

      • Use the search bar at the top of the page to enter your search query.
      • Press Enter or click the search button to view results.
    3. Viewing Results:

      • Scroll through the responsive grid of image results.
      • Click on an image to view it in full size (if implemented).

    API Endpoints

    • /upload/: POST request to upload an image
    • /search/: GET request to search for images using vector embeddings

    For detailed API documentation, run the backend server and visit http://localhost:8000/docs.

    Contributing

    Contributions to the Image Search Engine project are welcome! Please follow these steps:

    1. Fork the repository
    2. Create a new branch: git checkout -b feature-branch-name
    3. Make your changes and commit them: git commit -m 'Add some feature'
    4. Push to the branch: git push origin feature-branch-name
    5. Submit a pull request

    Contact

    For any inquiries or issues, please open an issue on the GitHub repository.

    Visit original content creator repository
    https://github.com/TNAHOM/Image-Search-Engine

  • React-Quiz

    InfinityBase Logo

    QUIZ – Desafio de código

    Inicializando

    Acessar a raiz do diretório do projeto e executar o comando:

    yarn
    

    Estrutura das pastas

    my-app
    ├── src/
    │   ├── compoments/
    │   │   ├── Footer/
    │   │   │   └── index.tsx
    │   │   │   └── styles.ts
    │   │   └── Header/
    │   │       └── index.tsx
    │   │       └── styles.ts
    │   ├── context/
    │   │   └── QuestionsContext.tsx
    │   ├── pages/
    │   │   ├── Home/
    │   │   │   └── index.tsx
    │   │   │   └── styles.ts
    │   │   ├── PAge404/
    │   │   │   └── index.tsx
    │   │   │   └── styles.ts
    │   │   ├── Questions/
    │   │   │   └── index.tsx
    │   │   │   └── styles.ts
    │   │   ├── Score/
    │   │   │   └── index.tsx
    │   │   │   └── styles.ts
    │   │   └── index.tsx
    │   ├── routes/
    │   │   └── index.tsx
    │   ├── services/
    │   │   └── api.ts
    │   ├── styles/
    │   │   └── global.ts
    │   ├── App.tsx
    │   └── index.tsx
    ├── .editorconfig
    ├── .editorignore
    ├── .eslintrc.json
    ├── .gitignore
    ├── prettier.config.js
    ├── README.md
    └── tsconfig.json
    

    Resumo

    Seu desafio é criar um QUIZ de 10 questões, resposta possíveis Verdadeiro ou Falso, utilizando React. Você não deve implementar apenas a solução mais básica. Essa é uma chance para mostrar suas habilidades e impressionar.

    A maneira como você estrutura o seu código conta muito. A avaliação é feita principalmente de acordo com estes critérios:

    • Funcionalidade
    • Formato do código
    • Estrutura do projeto
    • Escalabilidade
    • Manutenabilidade
    • Uso de melhores práticas de código

    Alguns pontos específicos que procuramos em seu código:

    • Typescript, se você souber
    • Implementação “correta” de um gerenciador de estado
    • Implementação “correta” de navegação (rotas)
    • Componentização
    • Comunicação no repositório e/ou código
    • Melhores práticas com requisições na API e dados
    • Separação de responsabilidades entre lógica de negócio e lógica de UI (interface)

    Objetivos

    Implementar as telas com base nos esqueletos e API abaixo. Os esqueletos podem não estar tão completos, então use sua criatividade para a parte de UI/UX. Lembre-se que este teste não é para designer, então fique tranquilo e livre para implementar sua UI, não seremos rígidos quanto a isso. Para este desafio, não use um boilerplate como React Boilerplate, por exemplo. Queremos entender como você estrutura um projeto do zero e quais ferramentas/padrões você utiliza. create-react-app pode ser utilizado sem problemas.

    Importante: Não deixe de enviar seu código. Sabemos que este teste é complexo, vamos avaliar com carinho!

    Especificações

    Crie um novo repositório em sua conta do Github.

    Dados:

    Para pegar os dados das questões: https://opentdb.com/api.php?amount=10&difficulty=hard&type=boolean

    Exemplo de JSON retornado:

    {
      "response_code": 0,
      "results": [
        {
          "category": "Entertainment: Video Games",
          "type": "boolean",
          "difficulty": "hard",
          "question": "Unturned originally started as a Roblox game.",
          "correct_answer": "True",
          "incorrect_answers": [
            "False"
          ]
        },]}

    Tela inicial:

    A tela Inicial da aplicação

    • Texto estático
    • Botão START navega para a tela do QUIZ e inicia o QUIZ

    Tela do QUIZ:

    A tela do QUIZ da aplicação

    • O título contém a categoria da questão
    • O Card no centro da tela contém a questão atual
    • A próxima questão aparece automaticamente após responder “True” ou “False”
    • Depois de todas as questões serem respondidas, navegar para a tela de Resultados

    Tela de resultados:

    A tela de Resultados da aplicação

    • O resultado mostra o percentual de acerto
    • Mostrar uma lista com todas as questões, e se foi correta ou não
    • O botão PLAY AGAIN começa novamente e navega para a tela Inicial da aplicação
    Visit original content creator repository https://github.com/dyegosoriano/React-Quiz
  • Encounter-Sheet-Imports

    Encounter-Sheet-Imports

    Monster Imports for Shwaffle’s D&D 5e Encounter Sheet

    File Listing:

    File Name Book Title Sub-Book Titles Monster Count
    CoS Curse of Strahd 19
    EE Elemental Evil Princes of the Apocalypse 42
    MM Monster Manual 456
    MToF Mordenkainen’s Tome of Foes 140
    RoD Rage of Dragons Out of the Abyss 35
    SKT Storm King’s Thunder 31
    TftYP Tales from the Yawning Portal 26
    ToA Tomb of Annihilation 35
    ToB Tome of Beasts 48
    ToD Tyrrany of Dragons Hoard of the Dragon Queen, Rise of Tiamat 23
    Tortle The Tortle Package 6
    VGtM Volo’s Guide to Monsters 141

     

    v1.62 (11/18/18)

    • Fixed issue with ‘Skills’ not showing properly
    • Added in the Constitution Modifier for the hit dice due to demand

    v1.61 (7/19/18)

    This one is all bug fixes! I highly recommend deleting all previous copies to make sure you’re using this version. I would also love to know if this alerts people when I update? Is there any other way I should be alerting people? Let me know.

    • Went through and tested all monsters so none of them should error out. Please report any oddities and bugs on GitHub
    • Changed the verbiage of two-handed variant attacks in the descriptions to make it more apparent
    • Fixed a bug where some attacks wouldn’t show based on the ability
    • Small code changes for consistency

    v1.6 (7/7/18)

    This feels like a small update due to the changelog, but I think the way I reworked how you choose a monster is such a big addition that I wanted to push it out as quickly as possible. This has been something I’ve wanted to add for quite a while so it feels nice that it’s finally finished. This is the groundwork I needed to get the different lists into the sheet so let me know what you think!

    *Added an icon for Tortle Package for fun
    *Added info on how to contact me

    v1.51 (7/2/18)

    • Fixed a typo that caused Tales from the Yawning Portal not to work.

     

    v1.5 (6/24/18)

    Per usual I took too long with me recent update. This is a big one so I hope it makes up for the delay in the new manuals!

     

    I would love to have some input from users on what they think needs to be changed or added. After submitting this file, I’m going to begin work in a single page monster sheet. This will be extremely beneficial for boss level monsters that have a large traits/actions section. After that, I would like to work on an initiative order page! That sounds like a fun challange so I hope it turns out well. I appreciate everyones support and thank you for using my sheet! You can contact me at the GitHub link below, or you can message me on Reddit @ Shwaffle.

     

    I have also put all of the monster information up on my Github. You can view all of the data and submit errors at: https://github.com/Shwaffle/Encounter-Sheet-Imports

     

    Fixes

    • Fixed the font size of Speed so it’s actually readable.
    • Encounter XP was only pulling the XP from the top monster. I am very sorry for those that relied on this and were given the wrong information.
    • Previous versions of the sheet would disable form highlighting for Adobe globally. This has been fixed to re-enable form highlighting on close.
    • Fixed a lot of errors in Monster Imports

    Additions

    • Added Tome of Beasts.
    • Added Mordenkainen’s Tome of Foes.
    • Added The Tortle Package.
    • Added radio buttons at the top to select whether or not you would like Adobe’s field highlighting. I think it looks better off, but choose what you’d like!
    • Added some nice icons for the manuals you select.

     

    v1.4 (2/18/18)

    Fixes

    • I really, really broke actions in 1.32 somehow. This has been fixed, and I can’t believe I hadn’t noticed earlier.
    • Fixed multiple Spellcasting blocks.
    • STR mod had a 2 character limit, which broke when monsters had anything over +9 to the mod. This has been fixed.
    • Fixed a lot of data issues that weren’t properly coded.

    Additions/Changes

    • Redid the manual selections at the top, this will allow for a lot more adaptability.
    • Manually changing the ability score now modifies saves and mods.
    • Added a bunch of tooltips!
    • Added Elemental Evil (Out of the Abyss), Tyranny of Dragons (Hoard of the Dragon Queen, Rise of Tiamat), Curse of Strahd, Storm Kings Thunder, and Yawning Portal.
    • Added a lot of missing monsters, thank you to those who have let me know!
    • Added encounter name and location at the top, suggested by users!
    • Underneath the monster’s name you can now select a checkbox to manually change the name of the monster without it killing the stats. Suggested by users!
    • Added Type & Subtype if applicable!
    • You can now search for a monster name!
      • It is case sensitive
      • Adobe DC currently has a bug that makes this feature not 100% reliable. However, being able to search in the dropdown should help a significant amount with the major manuals.

    Going to be working hard to get Tome of Beasts complete before Mordenkainen’s Tome of Foes is released in May.

    v1.32 (10/20/17)

    • Split some variants into their own monsters
    • Organized spells so they display nicer
    • Trying new Clear Form buttons
    • Traits and Actions will begin to display nicer when they have multiple paragraphs
    • Skills added
    • Rest of Monster Manual added
    • Began work on allowing DMs to have initiative rolled for the monsters. Will have both singular initiative and group initiative. (The extra radio button that pops up when you choose the monster won’t do anything for now)
    • I was doing a lot of little changes and may have forgotten to patch some holes. If you find anything that breaks the sheet let me know!

    v1.31 (7/3/17)

    • Checking the radio boxes near the HP boxes will now add monster XP to the total encounter experience
    • Passive Perception and Proficiency Bonus now have their own boxes
    • Immunities and Resistances have been moved to “Creature Info”
    • Armor Type has been added, will display a shield when the creature has one wielded
    • Top of the encounter sheet has been redone. Unavailable manuals are greyed out
    • Made the ‘Clear’ buttons a little better. I don’t like the ‘Clear Form’ one, I’m thinking of what I want to change that to
    • Fixed some traits not populating correctly from Volo’s
    • Began work on encounter difficulty

    v1.3 (5/29/2017)

    • Volo’s Guide is now an option!
    • You can choose at will which manual you want to pull your monster data from. Some traits may not show correctly, but it is mostly finished.
    • Fixed INT and CON being switched in the stats columns.
    • Added an overflow page to allow for longer descriptions to be readable.

    v1.23 (5/23/2017)

    • Creature source book and stat block page added.
    • Languages will no longer show a blank line when a creature does not have language.

    v1.22 (5/13/2017)

    • Passive Perception is now included in Creature Info. I will move this into its own stat box in a future update.

    v1.21 (5/9/2017)

    • Saving throws have been fixed. Now clears all fields when you select a new creature. Leaving CLEAR buttons for now.

    v1.2 (5/8/2017)

    • Fixed +hit issue, fixed some finesse weapons using the wrong modifier

    v1.1 (5/7/2017)

    • Initial Release

    Visit original content creator repository
    https://github.com/MattBerg11/Encounter-Sheet-Imports

  • ansible-role-rabbitmq

    Visit original content creator repository
    https://github.com/mediapeers/ansible-role-rabbitmq

  • dita-bootstrap.lunr

    DITA Bootstrap Lunr Search

    DITA Bootstrap Lunr Search is a DITA Open Toolkit plug-in that extends the DITA Bootstrap HTML output with a Lunr.js search function.

    Installation

    The DITA Bootstrap Lunr Search plug-in has been tested with DITA-OT 4.x. Use the latest version for best results.

    Installing DITA-OT

    1. Download the latest distribution package from the project website at dita-ot.org/download.

    2. Extract the contents of the package to the directory where you want to install DITA-OT.

    3. Optional: Add the absolute path for the bin directory to the PATH system variable.

      This defines the necessary environment variable to run the dita command from the command line.

    See the DITA-OT documentation for detailed installation instructions.

    Installing the Plug-in

    • Run the plug-in installation commands:
    dita install https://github.com/jason-fox/fox.jason.extend.css/archive/master.zip
    dita install https://github.com/infotexture/dita-bootstrap/archive/master.zip
    dita install https://github.com/infotexture/dita-bootstrap.lunr/archive/master.zip

    Installing Node.js

    The DITA Bootstrap Lunr Search plug-in uses the Node.js JavaScript runtime to generate the Lunr.js search index. Node.js must therefore be present for the index to be generated successfully.

    To download and install a copy, follow the instructions for your operating system on the download page.

    Usage

    Adding Lunr Search to HTML Bootstrap output

    To run, use the html5-bootstrap transformation and add the args.hdr parameter.

    PATH_TO_DITA_OT/bin/dita -f html5-bootstrap -o out -i PATH_TO_DITAMAP \
      --args.hdr=path/to/your-header.xml

    A sample header file with a search box is provided with the plug-in: includes/hdr.navbar.lunr.xml – the core markup can be seen below.

    <li class="nav-item d-flex align-items-center">
      <span class="nav-link pe-2">
        <i class="bi bi-search"/>
      </span>
      <form class="search-box position-relative me-auto">
        <input type="search" class="form-control" placeholder="Search…" aria-label="Search for…" dir="auto"/>
      </form>
    </li>

    Adding Lunr Search to a GitHub Action

    You can use the standard dita-ot-action to run with Lunr Search. Since the transform requires Node.js to function, it is necessary to install it as part of the install process. Also, when creating documents in languages other than English, please ensure that the appropriate locale has been set prior to running the transform to ensure that the search index is generated correctly.

    name: Create DITA with Lunr Search (DE)
    permissions:
      contents: write
    
    'on':
      workflow_dispatch: null
    
    jobs:
      build-dita:
        name: Build DITA
        runs-on: ubuntu-latest
        steps:
          - name: Git checkout
            uses: actions/checkout@v3
          - name: Build HTML5 + Bootstrap
            uses: dita-ot/dita-ot-action@4.0.2
            with:
              install: |
                apt-get update -q
                export DEBIAN_FRONTEND=noninteractive
                apt-get install -qy --no-install-recommends nodejs
                nodejs -v
                locale-gen de_DE.UTF-8
                LANG="de_DE.UTF-8"
                LANGUAGE="de_DE:de"
                LC_ALL="de_DE.UTF-8"
              plugins: |
                fox.jason.extend.css
                dita-bootstrap
                dita-bootstrap.lunr
              project: .github/dita-ot/html.xml
          - name: 'Deploy Documentation to GitHub Pages'
            uses: JamesIves/github-pages-deploy-action@v4.4.3
            with:
              token: ${{ secrets.GITHUB_TOKEN }}
              branch: gh-pages
              folder: out

    Parameter Reference

    • offline.mode – enables Lunr search to work in conjunction with DITA Bootstrap offline mode – this requires an additional plugin to be installed.

    License

    Apache 2.0 © 2023 Jason Fox

    The Program includes the following additional software components which were obtained under license:

    Visit original content creator repository https://github.com/infotexture/dita-bootstrap.lunr
  • enphase_gateway

    enphase_logo

    Control4 Enphase Envoy/IQ Gateway Solar Driver

    Overview

    This driver is used to get the solar values from an Enphase Envoy/IQ Gateway unit. It stores the values in variables, so you can do any kind of programming with it. Also the driver provides a simple webview, where you can see the values.

    Following values are supported:

    • Consumption
    • Solar Production
    • Grid Power
    • Excess Solar
    • Total values for the day (Production & Consumption)
    • Current Line Voltage
    • Enpower Connected
    • Grid Status

    Envoy/IQ Gateway requirements

    An Enphase Envoy S (Metered) or IQ Gateway is required, this will not work with the Standard (Non-metered) Gateways.

    Supported Models:

    • IQ Gateway
    • Envoy S Metered

    Configuring the driver

    Enter your Enphase Enlighten Username (e-mail) and Password (Required if your Envoy is running firmware version 7 or higher).

    NOTE: If you run multiple Envoy gateways, change the Discovery Mode propery to “Manual” and set the Envoy IP to use for this driver instance.

    Properties

    Driver Version
    Shows the version of the driver.

    Debug Mode
    Set debug mode to On or Off.

    Polling Interval
    Choose the time in seconds at which the Gateway should be read for updated data.

    Envoy IP
    Enter the Envoy IP address.

    Username
    Your Enlighten Username. Required if firmware is v7 or higher

    Password
    Your Enlighten Password. Required if firmware is v7 or higher

    Serial Number (read-only)
    Serial number of your Gateway.

    Part Number (read-only)
    Part number of your Gateway.

    Software Version (read-only)
    Current software version running on your Gateway.

    Production (kW) (read-only)
    Production from the solar panels.

    Consumption (kW) (read-only)
    Consumption of all loads.

    Grid (kW) (read-only)
    Power from or to the grid.

    Production Today (kWh) (read-only)
    Total solar power produced today.

    Consumption Today (kWh) (read-only)
    Total power used today in your home (both solar and grid, if any).

    Excess Solar (kW) (read-only)
    Current excess solar available for use.

    Current Voltage (v) (read-only)
    Current voltage reading from the Envoy.

    Current Voltage (v) (read-only)
    Current voltage reading from the Envoy.

    Enpower Connected (read-only)
    If there is an Enpower connected to the system. (true/false)

    Grid Status (read-only)
    Current Grid Status. (closed/opened)

    Variables

    PRODUCTION_KW (Int)
    Power in kW from the solar panels.

    CONSUMPTION_KW (Int)
    Consumption of all loads in kW.

    GRID_POWER_KW (Int)
    Power in kW from or to the grid.

    DAILY_ENERGY_PRODUCTION_KWH (Int)
    Daily energy produced in kWh.

    DAILY_ENERGY_CONSUMPTION_KWH (Int)
    Daily energy consumed in kWh.

    EXCESS_SOLAR (Bool)
    If there is currently excess solar.

    EXCESS_SOLAR_KW (Int)
    Excess energy available in kW.

    CURRENT_VOLTAGE (Int)
    Current voltage reading from the Envoy in volts.

    ENPOWER_CONNECTED (Bool)
    If there is an Enpower connected to the system. (true/false)

    GRID_STATUS (String)
    Current Grid Status. (closed/opened)

    Limitations

    • Daily energy kWh grid import/export totals are not available currently.
    • Autodiscover has been removed due to MDNS library obsolete now in Control4 OS 4.0.0

    Release Notes: (BETA Version)

    • v1

      • Initial release
    • v2

      • Added MDNS discovery of Envoy Gateway
    • v3

      • Changed to using different URLs for data (will swap to Stream/websocket data later)
    • v4

      • Added Authorization option for Envoy version 7 or higher
    • v5

      • Additional settings/changes for Authorization
    • v6

      • Additional settings/changes for Authorization
    • v7

      • Add Envoy Readings URL selection
    • v8

      • Bug fixes
    • v9

      • Bug fixes
    • v10

      • Fix for ivp/meters/readings data
    • v11

      • Update to WebView design
    • v12

      • Update to UI Icon and WebView design
    • v13

      • Bug fix for version check
    • v14

      • Bug fix for authentication and session token problem
    • v15

      • Revamped WebView to use watched Variables instead of DataToUI
    • v16

      • Bug fix for if gAuth gets set back to false
      • Re-instated DataToUI as a backup if Watched Variable data does not populate in WebView
    • v17

      • Bug fix for errors
    • v18

      • Added CURRENT_VOLTAGE variable and properties to gather the current voltage reading from the Envoy.
    • v19

      • Added Enpower & Grid Status variables and properties.
    • v20

      • Added Discovery Mode (Auto/Manual) for the ability to manually set which Envoy IP to use. (Useful if you run multiple Envoy Gateways)
    • v21

      • Bug fix for Enpower nil error, Thanks to RollyandSam.
    • v22

      • Fixes for Auth flow.
    • v23

      • Updated drivers-common-public from SnapOne Github repository.
    • v24

      • Updated drivers-common-public from SnapOne Github repository.
      • Removed MDNS Library as it is no longer supported in Control4 OS 4.0.0, will re-implement with code changes in future release.
      • As part of the MDNS Library removal, manual IP entry is now mandatory, autodiscovery will be added again in future release.

    Compiled Driver Available from Releases:

    https://github.com/Leighm0/enphase_gateway/releases

    Disclaimer:

    This software is neither affiliated with nor endorsed by either Control4 or Enphase® Energy.

    Visit original content creator repository
    https://github.com/Leighm0/enphase_gateway

  • ipxebuilderd

    ipxebuilderd

    Build daemon and CLI for iPXE.

    pipeline status

    Overview

    ipxebuilderd is a build daemon with a CLI for iPXE, the leading open source network boot firmware. It is built of two components:

    • ipxebuilderd, a build daemon with a gRPC interface which uploads built artifacts to S3
    • ipxectl, a CLI for ipxebuilderd

    ipxebuilderd bundles the iPXE source code, but does not the toolchain in it’s binary. Please use to the Docker images or Helm chart, which bundle it; the latter also bundles a S3 (Minio) server.

    Installation

    Prebuilt Binaries

    Prebuilt binaries are available on the releases page.

    Go Package

    A Go package is available.

    Docker Image

    A Docker image is available on Docker Hub.

    Helm Chart

    A Helm chart is available in @pojntfx’s Helm chart repository.

    Usage

    Daemon

    You may also set the flags by setting env variables in the format IPXEBUILDERD_[FLAG] (i.e. IPXEBUILDERD_IPXEBUILDERD_CONFIGFILE=examples/ipxebuilderd.yaml) or by using a configuration file.

    % ipxebuilderd --help
    ipxebuilderd is the iPXE build daemon.
    
    Find more information at:
    https://pojntfx.github.io/ipxebuilderd/
    
    Usage:
      ipxebuilderd [flags]
    
    Flags:
      -h, --help                                   help for ipxebuilderd
      -f, --ipxebuilderd.configFile string         Configuration file to use.
      -l, --ipxebuilderd.listenHostPort string     TCP listen host:port. (default "0.0.0.0:1010")
      -u, --ipxebuilderd.s3AccessKey string        Access key of the S3 server to connect to. (default "ipxebuilderUser")
      -b, --ipxebuilderd.s3Bucket string           S3 bucket to use. (default "ipxebuilderd")
      -s, --ipxebuilderd.s3HostPort string         Host:port of the S3 server to connect to. (default "minio.ipxebuilderd.example.com")
      -o, --ipxebuilderd.s3HostPortPublic string   Public host:port of the S3 server (will be used in shared links). (default "minio.ipxebuilderd.example.com")
      -p, --ipxebuilderd.s3SecretKey string        Secret key of the S3 server to connect to. (default "ipxebuilderdPass")
      -z, --ipxebuilderd.secure                    Whether to use a secure connection to S3.

    Client CLI

    You may also set the flags by setting env variables in the format IPXE_[FLAG] (i.e. IPXE_IPXE_CONFIGFILE=examples/ipxe.yaml) or by using a configuration file.

    % ipxectl --help
    ipxectl manages ipxebuilderd, the iPXE build daemon.
    
    Find more information at:
    https://pojntfx.github.io/ipxe/
    
    Usage:
      ipxectl [command]
    
    Available Commands:
      apply       Apply a ipxe
      delete      Delete one or more iPXE(s)
      get         Get one or all iPXE(s)
      help        Help about any command
    
    Flags:
      -h, --help   help for ipxectl
    
    Use "ipxectl [command] --help" for more information about a command.

    License

    ipxebuilderd (c) 2020 Felicitas Pojtinger

    SPDX-License-Identifier: AGPL-3.0

    Visit original content creator repository
    https://github.com/pojntfx/ipxebuilderd