Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Wintespe authored Jun 3, 2023
1 parent 4e1cfe1 commit 615d4be
Showing 1 changed file with 140 additions and 1 deletion.
141 changes: 140 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,141 @@
# ScanIt
# ScanIt, ad hoc sensor data acquisition for Tasmota controlled devices

ScanIt is a Windows application for ad hoc acquisition of sensor data for Tasmota based devices. ScanIt provides a graphical user interface for this purpose. It does not communicate with Tasmota via MQTT, it uses the HTTP interface. No other software tools like Influxdb or Prometheus are required. ScanIt communicates autonomously with Tasmota via the WEB interface.

The ScanIt application uses the DotNet framework on Windows. This makes it easy to port it to Linux. Design and development refer to the VisualStudio 2022 Community Edition. This IDE is free of charge. ScanIt consists of two main parts: **Logging** and **Console**.

# Logging part to collect data

An example of a data scan for temperature logging is shown below:

**Status 10 : DS18B20>Temperature, BMP280>Temperature#0**

The corresponding output in the log window is:

_03/20/2023 14:41:08 DS18B20 Temperature = 15.6 BMP280 Temperature = 15
20.03.2023 14:41:18 DS18B20 Temperature = 15.6 BMP280 Temperature = 15_

At the same time, ScanIt writes the log data to a file in CSV format. Each entry is separated by a tab. This makes it easy to import the file into **LibreOffice-Calc** or** Excel**.


The following diagram was created from a temperature measurement using LibreOffice:

­

![image](https://user-images.githubusercontent.com/121858068/233852035-db47b8b7-1104-4104-a1ed-6e0c9ffda588.png)




# Console part
The **Console** may be used for direct communication between the user and the Tasmota firmware. For example, to change the setpoint, when a temperature control is acquired.


ScanIt specific commands are not sent directly. They are interpreted and specially processed by the console. These commands begin with the "@" character. The following table provides a brief overview of:

­

| Command | Brief Description |
|-------------------------|----------------------------------------------------|
| **Batch related** | |
| @­batch | Execute commands from a text file |
| @­delay | Delay inserted between commands |
| @­echo | Turns the command echo from batch on or off |
| @­edit | Edit batch file |
| @­saveparameter | Save parameter on exit |
| @­shutdown | Exits ScanIt |
| @­wait | Waits H:M:S between commands |
||
| **Tasmota related** ||
| @­driver | Active drivers |
| @­feature | Active features |
| @­gpio | Active GPIOs |
| @­gpioa | All GPIOs |
| @­i2c | I2c drivers |
| @­option | Option settings |
| @­optiona | All option settings |
| @­sensor | Active sensors |
| @­status | Status from 1 to 11 |
||
| **Main Window related** ||
| @­append | Append the data to the log file |
| @­scan | Scans to be executed in the main window |
| @­interval | Set the interval time in the main window |
| @­ip-address | IP address of the hardware |
| @­logfile | Set the filename for the log file |
| @­execute | Starts a scan with the parameters set |
| @­show | Display data sets in the main window |

**Example:**

**@­Feature** offers among others

```
...
Feature 7 bit vector 00C01000
Bit 12 = USE_SHELLY_DIMMER
Bit 22 = USE_TIMEPROP
Bit 23 = USE_PID
...
```

Command sequences from a text file can be executed with **@­Batch**.

```
<BatchID>
@Interval 10
@Ip-Address NodeMcu2
@Execution Start
PidSp 25
@Wait 0:20:0
PidSp 27
@Wait 0:20::0
PidSp 25
@Wait 600
@Execution Stop
```

# Command line interface

ScanIt has a Windows command line interface. This can be used to activate a batch file e.g. time-controlled by the Windows Task Scheduler. This feature allows an automated collection of data without further user intervention.

A Windows command line might look like this:

C:\ScanIt\ScanIt.exe Batch:C:\ScanIt\Batch.txt


**Batch Example:**
```
<BatchID>
@Scan "Status 10 : PidSp#1, PidPv#2, PidPower, PidTi#0, PidTc, PidTd", "Power2", "Power1"
@Interval 10
@Ip-Address NodeMcu2
@Logfile C:\Tasmota Batch Files\Batch.csv
@Show 0
@Append 1
@Execution Start
PidSp 25
@Wait 0:10: 0
PidSp 27
@Wait 10: 0
PidSp 25
@Wait 600
@Execution Stop
@ShutDown
```

# Language extensions

The ScanIt application is not bound to a specific language. It is possible to change the language at run time. This is done using external language packages. These can be modified using a simple text editor such as Notepad. This makes it easy to add new languages to ScanIt.


# Installation

ScanIt does not need to be specially installed on Windows. It is sufficient to extract the contents of ScanIt.zip to a common folder.

![BlueBulb20](https://user-images.githubusercontent.com/121858068/235621574-5dc6ff71-64c6-4db3-9fc7-bf284ee63434.gif)
> **Windows may blocks ZIP files from the Internet to protect the system. Please remember to unblock the ZIP file using the Windows Explorer.**
You must enable the HTTP API in your Tasmota application.

&#173;

0 comments on commit 615d4be

Please sign in to comment.