Test Solar PV Monitoring Dashboards Using an Open-Source Renogy BT-1 Simulator

Renogy BT-1 telemetry provides useful information for monitoring the condition and performance of a solar photovoltaic system. It can report key values such as PV voltage, current, power generation, battery status, controller temperature, charging activity, and load consumption. These data are important for building dashboards, alerts, databases, and automation systems.

However, developing and testing such a monitoring system normally requires access to real Renogy hardware, including a compatible charge controller and BT-1 Bluetooth module. This can make early development difficult, especially when developers need to reproduce specific conditions such as low battery voltage, peak sunlight, nighttime discharge, or controller inactivity.

My latest open-source project, Renogy BT-1 Telemetry Simulator, removes this hardware requirement.

Application Screenshot

The Renogy BT-1 Telemetry Simulator addresses this problem by generating realistic sample telemetry and sending it as JSON to an HTTP or HTTPS endpoint without requiring physical solar equipment.

The simulator imitates telemetry commonly produced by a Renogy BT-1 module connected to a Renogy Rover MPPT charge controller.

You can manually configure values such as:

  • Solar PV voltage, current, power, and generated energy
  • Battery percentage, voltage, current, temperature, and battery type
  • Controller temperature and charging status
  • Load voltage, current, power, and energy consumption
  • Controller model, device ID, and BT-1 identifier

The application can also calculate PV and load power automatically.

Renogy BT-1 Telemetry Simulator Use Cases

The simulator is useful for testing the Solar PV under various situations:

  • Peak Sunshine
  • Nighttime operations
  • Low battery conditions
  • Heavy loads / light loads

Application Features

  • One-off HTTP Post transmission
  • Periodic transmission at a configurable interval
  • A default two-minute sending interval
  • Live JSON payload preview
  • Transmission logs with HTTP status, response, errors, and request duration

This is useful for testing local development servers, webhooks, staging systems, database storage, monitoring dashboards, and automated alerts before installing physical solar hardware.

Requirements

The application uses WPF and .NET 8, so it runs on Windows 10 or Windows 11. Developers can build it using Visual Studio 2022 or the standard dotnet command-line tools.

The current HTTP client accepts self-signed HTTPS certificates for local testing. This behaviour should not be treated as secure certificate validation for production systems.

Download the Source Code

Renogy BT-1 Telemetry Simulator is available on GitHub:

github.com/mypapit/renogybt1simulator

The project is released under the GNU General Public License version 3, allowing users to study, modify, and redistribute the source code according to the GPL terms.

This project is an independent simulator and is not an official Renogy product.

PolicyMaker: A Lightweight PHP Tool to Create Privacy Policy Pages for Android Apps

PolicyMaker is a lightweight web application for creating, managing, publishing, and displaying privacy policies for Android mobile applications. It is built using PHP and SQLite, so it does not need a heavy database server or complex deployment setup. The project is available on GitHub – https://github.com/mypapit/policymaker

PolicyMaker Dashboard

PolicyMaker Wizard

The main idea behind PolicyMaker is simple. Many Android developers need a public privacy policy page, especially when publishing applications to app stores. Instead of manually writing and formatting the same policy structure again and again, PolicyMaker provides an administrator-only wizard that helps generate structured privacy policy text from simple inputs.

The wizard supports yes/no choices, radio buttons, checkboxes, and text fields. It can collect details such as application name, package name, website, effective date, personal data collection, analytics, advertising, permissions, service providers, data retention, security, user rights, and children’s privacy.

PolicyMaker is useful for small developers, indie Android publishers, educators, and small organizations that manage several simple mobile apps. It is not meant to be a large enterprise compliance platform. Its strength is that it is small, direct, and easy to host. It only requires PHP 8.3 or newer with SQLite/PDO SQLite support. The installer creates the SQLite database and generates the first administrator password.

The public policy pages also include Schema.org JSON-LD metadata, which helps make the policy page more structured for search engines

PolicyMaker is licensed under the BSD 2-Clause license. This makes it practical for developers who want a small self-hosted privacy policy system that can be modified and deployed with minimal restriction.

Getting Rid of /.well-known/traffic-advice 404 errors in nginx web server

It seems Google have implemented private prefetch proxy in Chrome for Android.

The upside of this private prefetch proxy is improved browsing experience for mobile users by reducing waiting time for web pages to load.

The downside is, as web server administrators – you might find a lot of 404 status in your web logs.

To solve this, you could either :

  • Write directive to ignore 404 logs for “traffic-advice”
  • Create “/.well-known/traffic-advice file for each domain and set the file to be served with “application/trafficadvice+json” MIME type [source]

Solution

Luckily, TechTitBits have come up with a convenient solution which only involves adding a few lines in configuration files to enable Chrome for Android prefetched proxy in nginx.

location = /.well-known/traffic-advice {
    types { }
    default_type "application/trafficadvice+json; charset=utf-8";
    return 200 '[{ "user_agent": "prefetch-proxy", "fraction": 1 }]';
}

With this solution, you would only need to add the location block within the server { } context in the site configurations.

Thank you for the tip: Traffic Advice configuration for Nginx

Configuration to run OJS 3 smoothly behind nginx reverse proxy

A lot of people struggling in configuring PKP Open Journal System 3 (OJS3) to run behind nginx reverse proxy as OJS3 does not support nginx natively

So most implementation would settle with Apache HTTPD server or install it behind nginx reverse proxy.

However the problem is that the OJS3 behave badly when placed behind nginx reverse proxy, especially when the reverse proxy is using HTTPS / TLS. This messed up the based URL in the OJS3, subsequently causing some resources from the website to be unavailable.

To solve this, you only need to add a single line in the Apache HTTPD site configuration file.

        SetEnvIf X-Forwarded-Proto "https" HTTPS=on

A full blown example is included via gist

Morality and Legality of Open Source Code Forking

Free Software (or Open Source Software) aims not only to give the freedom to use software without restrictions, but also grants the user the freedom to modify, enhance and redistribute the modified code to others while simultaneously granting others the same freedom as well.

To this end, commercial companies have benefited from contributions made by online communities from all over the world on Free and Open Source Software, which some of the company gives back.

However there are also some quarters who are not prepared to face the reality of code forking, especially when the fork has the potential to compete with the original software.

Read:

How to save (or mirror) an entire website with httrack in Debian and Ubuntu

Httrack is a tool for copying and saving an entire website in Debian and Ubuntu. Httrack can crawl an online website save each of the pages (including graphic and other downloadable files).

Among httrack features are:

  • Able to continue interrupted downloads
  • Selective download
  • Customizable user-agent
  • Customizable Scan-rules, can exclude files from being crawled
  • Accept cookies
  • URL hacks
  • Tolerant requests support
httrack screenshot

Using ‘httrack‘ is easy, as it has built-in wizard that can guide you through the process of mirroring web sites. The user will be asked a series of question about the URL to be mirrored, the location where the files will be saved, proxy server and the user-agent to be used.

p/s: httrack perhaps is the only open-source website copier/downloader tool available for GNU/Linux operating system. It is efficient and easy to use. The only gripe that I’ve when using ‘httrack‘ is that it does not provide progress feedback (unlike its counterpart in Microsoft Windows) like ‘wget