Skip to content

Commit

Permalink
Added debug input to switch on/off debug page
Browse files Browse the repository at this point in the history
Added Sleep500ms
Some refactorings
  • Loading branch information
Sven Bunge committed Oct 2, 2022
1 parent e9b26fc commit e801c74
Show file tree
Hide file tree
Showing 3 changed files with 125 additions and 111 deletions.
5 changes: 3 additions & 2 deletions config.xml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<config>
<modules>
<module category="Datenaustausch" context="hs_modbusTCP_reader14184" id="14184" name="hs_modbusTCP_reader" sinternal_name="hs_modbusTCP_reader" external_name="ModbusTCP Reader (14184)" version="0.6.0">
<module category="Datenaustausch" context="hs_modbusTCP_reader14184" id="14184" name="hs_modbusTCP_reader" sinternal_name="hs_modbusTCP_reader" external_name="ModbusTCP Reader (14184)" version="0.7.0">
<inputs>
<input type="number" const_name="switch" init_value="0">Interval timer switch - on (1) / off (0)</input>
<input type="number" const_name="fetch_interval" init_value="5">Interval in seconds (default: 5 secs)</input>
<input type="number" const_name="fetch_interval" init_value="10">Interval in seconds (default: 10 secs)</input>
<input type="number" const_name="man_trigger" init_value="0">Manual fetch trigger - by 1</input>
<input type="string" const_name="modbus_slave_ip" init_value="127.0.0.1">IP of modbus server</input>
<input type="number" const_name="port" init_value="502">Modbus TCP Port (default: 502)</input>
Expand All @@ -13,6 +13,7 @@
<input type="number" const_name="modbus_wordorder" init_value="0">Word order: 0: LittleEndian (Modbus default); 1: BigEndian</input>
<input type="number" const_name="modbus_byteorder" init_value="1">Byte order: 0: LittleEndian; 1: BigEndian (Modbus default)</input>
<input type="number" const_name="reg_offset" init_value="0">Register offset: Shifts all registers. Default 0, often -1</input>
<input type="number" const_name="enable_debug" init_value="0">Enable debug section</input>
<!-- 1. register -->
<input type="number" const_name="register1" init_value="-1">Reg1: register address in dec (-1: disabled)</input>
<input type="number" const_name="reg1_regtyp" init_value="3">Reg1: Type: 1=Coil, 2=Discrete, 3=Holding, 4=Input</input>
Expand Down
95 changes: 50 additions & 45 deletions doc/log14184.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,50 +4,51 @@ Dieser GIRA Homeserver Logikbaustein liest mittels Modbus TCP Werte aus.

## Eingänge

| Nummer | Datentyp | Default | Beschreibung |
| ------ | -------- | ------- | -------------|
| 1 | Zahl | 0 | Schaltet den Intervall-Timer des Baustein an oder aus. 0 = Aus, 1 = an. Ist der Timer deaktiviert, so sind noch manuelle Abrufe möglich. |
| 2 | Zahl | 5 Sekunden | Ist die Frequenz des Intervalls, wie oft der Baustein die Werte abfragt. - Nur wenn Intervall-Abfrage aktiv! |
| 3 | Zahl | 1 | Bei einer 1 fragt der Baustein von außen gesteuert alle Werte ab |
| 4 | Text | 127.0.0.1 | Die IP-Adresse für den Wechselrichter. Hostname aktuell nicht implementiert. (* |
| 5 | Zahl | 502 | Der TCP-Port für Modbus. (* |
| 6 | Zahl | 1 | Die Modbus Unit ID. (* |
| 7 | Text | | Spezielle Optionen, Kommagetrennt. Aktuell verfügbar: NoKeepAlive, Sleep100ms |
| 8 | Zahl | 0 | Word Order bei Multi-Byte Elementen. Per default: LittleEndian. (0: LittleEndian, 1: BigEndian) (* |
| 9 | Zahl | 1 | Byte Order bei Multi-Byte Elementen. Per default: BigEndian. (0: LittleEndian, 1: BigEndian) (* |
| 10 | Zahl | 0 | Offset, bewegt alle Register in eine oder andere Richtung. In der Regel 0, gern aber auch -1 |
| 11 | Zahl | -1 | Abfrage 1: Modbus-Register in Dezimal Darstellung. -1: Abfrage wird deaktiviert (* |
| 12 | Zahl | 3 | Abfrage 1: Lese-Mechanismus / -Function: 1=Coil, 2=Discrete, 3=Holding, 4=Input (* |
| 13 | Text | uint16 | Abfrage 1: Datentyp (* |
| 14 | Zahl | 1 | Abfrage 1: Bei numerischen Datentypen: Multiplikator, bei String: Länge des Strings für Abfrage (* |
| 15 | Zahl | -1 | Abfrage 2: Modbus-Register in Dezimal Darstellung. -1: Abfrage wird deaktiviert (* |
| 16 | Zahl | 3 | Abfrage 2: Lese-Mechanismus / -Function: 1=Coil, 2=Discrete, 3=Holding, 4=Input (* |
| 17 | Text | uint16 | Abfrage 2: Datentyp (* |
| 18 | Zahl | 1 | Abfrage 2: Bei numerischen Datentypen: Multiplikator, bei String: Länge des Strings für Abfrage (* |
| 19 | Zahl | -1 | Abfrage 3: Modbus-Register in Dezimal Darstellung. -1: Abfrage wird deaktiviert (* |
| 20 | Zahl | 3 | Abfrage 3: Lese-Mechanismus / -Function: 1=Coil, 2=Discrete, 3=Holding, 4=Input (* |
| 21 | Text | uint16 | Abfrage 3: Datentyp (* |
| 22 | Zahl | 1 | Abfrage 3: Bei numerischen Datentypen: Multiplikator, bei String: Länge des Strings für Abfrage (* |
| 23 | Zahl | -1 | Abfrage 4: Modbus-Register in Dezimal Darstellung. -1: Abfrage wird deaktiviert (* |
| 24 | Zahl | 3 | Abfrage 4: Lese-Mechanismus / -Function: 1=Coil, 2=Discrete, 3=Holding, 4=Input (* |
| 25 | Text | uint16 | Abfrage 4: Datentyp (* |
| 26 | Zahl | 1 | Abfrage 4: Bei numerischen Datentypen: Multiplikator, bei String: Länge des Strings für Abfrage (* |
| 27 | Zahl | -1 | Abfrage 5: Modbus-Register in Dezimal Darstellung. -1: Abfrage wird deaktiviert (* |
| 28 | Zahl | 3 | Abfrage 5: Lese-Mechanismus / -Function: 1=Coil, 2=Discrete, 3=Holding, 4=Input (* |
| 29 | Text | uint16 | Abfrage 5: Datentyp (* |
| 30 | Zahl | 1 | Abfrage 5: Bei numerischen Datentypen: Multiplikator, bei String: Länge des Strings für Abfrage (* |
| 31 | Zahl | -1 | Abfrage 6: Modbus-Register in Dezimal Darstellung. -1: Abfrage wird deaktiviert (* |
| 32 | Zahl | 3 | Abfrage 6: Lese-Mechanismus / -Function: 1=Coil, 2=Discrete, 3=Holding, 4=Input (* |
| 33 | Text | uint16 | Abfrage 6: Datentyp (* |
| 34 | Zahl | 1 | Abfrage 6: Bei numerischen Datentypen: Multiplikator, bei String: Länge des Strings für Abfrage (* |
| 35 | Zahl | -1 | Abfrage 7: Modbus-Register in Dezimal Darstellung. -1: Abfrage wird deaktiviert (* |
| 36 | Zahl | 3 | Abfrage 7: Lese-Mechanismus / -Function: 1=Coil, 2=Discrete, 3=Holding, 4=Input (* |
| 37 | Text | uint16 | Abfrage 7: Datentyp (* |
| 38 | Zahl | 1 | Abfrage 7: Bei numerischen Datentypen: Multiplikator, bei String: Länge des Strings für Abfrage (* |
| 39 | Zahl | -1 | Abfrage 8: Modbus-Register in Dezimal Darstellung. -1: Abfrage wird deaktiviert (* |
| 40 | Zahl | 3 | Abfrage 8: Lese-Mechanismus / -Function: 1=Coil, 2=Discrete, 3=Holding, 4=Input (* |
| 41 | Text | uint16 | Abfrage 8: Datentyp (* |
| 42 | Zahl | 1 | Abfrage 8: Bei numerischen Datentypen: Multiplikator, bei String: Länge des Strings für Abfrage (* |
| Nummer | Datentyp | Default | Beschreibung |
|--------| -------- |------------|------------------------------------------------------------------------------------------------------------------------------------------|
| 1 | Zahl | 0 | Schaltet den Intervall-Timer des Baustein an oder aus. 0 = Aus, 1 = an. Ist der Timer deaktiviert, so sind noch manuelle Abrufe möglich. |
| 2 | Zahl | 5 Sekunden | Ist die Frequenz des Intervalls, wie oft der Baustein die Werte abfragt. - Nur wenn Intervall-Abfrage aktiv! |
| 3 | Zahl | 1 | Bei einer 1 fragt der Baustein von außen gesteuert alle Werte ab |
| 4 | Text | 127.0.0.1 | Die IP-Adresse für den Wechselrichter. Hostname aktuell nicht implementiert. (* |
| 5 | Zahl | 502 | Der TCP-Port für Modbus. (* |
| 6 | Zahl | 1 | Die Modbus Unit ID. (* |
| 7 | Text | | Spezielle Optionen, Kommagetrennt. Aktuell verfügbar: NoKeepAlive, Sleep100ms |
| 8 | Zahl | 0 | Word Order bei Multi-Byte Elementen. Per default: LittleEndian. (0: LittleEndian, 1: BigEndian) (* |
| 9 | Zahl | 1 | Byte Order bei Multi-Byte Elementen. Per default: BigEndian. (0: LittleEndian, 1: BigEndian) (* |
| 10 | Zahl | 0 | Offset, bewegt alle Register in eine oder andere Richtung. In der Regel 0, gern aber auch -1 |
| 11 | Zahl | 0 | Eintrag in Debug-Seite. 0: Nein, 1: Ja |
| 12 | Zahl | -1 | Abfrage 1: Modbus-Register in Dezimal Darstellung. -1: Abfrage wird deaktiviert (* |
| 13 | Zahl | 3 | Abfrage 1: Lese-Mechanismus / -Function: 1=Coil, 2=Discrete, 3=Holding, 4=Input (* |
| 14 | Text | uint16 | Abfrage 1: Datentyp (* |
| 15 | Zahl | 1 | Abfrage 1: Bei numerischen Datentypen: Multiplikator, bei String: Länge des Strings für Abfrage (* |
| 16 | Zahl | -1 | Abfrage 2: Modbus-Register in Dezimal Darstellung. -1: Abfrage wird deaktiviert (* |
| 17 | Zahl | 3 | Abfrage 2: Lese-Mechanismus / -Function: 1=Coil, 2=Discrete, 3=Holding, 4=Input (* |
| 18 | Text | uint16 | Abfrage 2: Datentyp (* |
| 19 | Zahl | 1 | Abfrage 2: Bei numerischen Datentypen: Multiplikator, bei String: Länge des Strings für Abfrage (* |
| 20 | Zahl | -1 | Abfrage 3: Modbus-Register in Dezimal Darstellung. -1: Abfrage wird deaktiviert (* |
| 21 | Zahl | 3 | Abfrage 3: Lese-Mechanismus / -Function: 1=Coil, 2=Discrete, 3=Holding, 4=Input (* |
| 22 | Text | uint16 | Abfrage 3: Datentyp (* |
| 23 | Zahl | 1 | Abfrage 3: Bei numerischen Datentypen: Multiplikator, bei String: Länge des Strings für Abfrage (* |
| 24 | Zahl | -1 | Abfrage 4: Modbus-Register in Dezimal Darstellung. -1: Abfrage wird deaktiviert (* |
| 25 | Zahl | 3 | Abfrage 4: Lese-Mechanismus / -Function: 1=Coil, 2=Discrete, 3=Holding, 4=Input (* |
| 26 | Text | uint16 | Abfrage 4: Datentyp (* |
| 27 | Zahl | 1 | Abfrage 4: Bei numerischen Datentypen: Multiplikator, bei String: Länge des Strings für Abfrage (* |
| 28 | Zahl | -1 | Abfrage 5: Modbus-Register in Dezimal Darstellung. -1: Abfrage wird deaktiviert (* |
| 29 | Zahl | 3 | Abfrage 5: Lese-Mechanismus / -Function: 1=Coil, 2=Discrete, 3=Holding, 4=Input (* |
| 30 | Text | uint16 | Abfrage 5: Datentyp (* |
| 31 | Zahl | 1 | Abfrage 5: Bei numerischen Datentypen: Multiplikator, bei String: Länge des Strings für Abfrage (* |
| 32 | Zahl | -1 | Abfrage 6: Modbus-Register in Dezimal Darstellung. -1: Abfrage wird deaktiviert (* |
| 33 | Zahl | 3 | Abfrage 6: Lese-Mechanismus / -Function: 1=Coil, 2=Discrete, 3=Holding, 4=Input (* |
| 34 | Text | uint16 | Abfrage 6: Datentyp (* |
| 35 | Zahl | 1 | Abfrage 6: Bei numerischen Datentypen: Multiplikator, bei String: Länge des Strings für Abfrage (* |
| 36 | Zahl | -1 | Abfrage 7: Modbus-Register in Dezimal Darstellung. -1: Abfrage wird deaktiviert (* |
| 37 | Zahl | 3 | Abfrage 7: Lese-Mechanismus / -Function: 1=Coil, 2=Discrete, 3=Holding, 4=Input (* |
| 38 | Text | uint16 | Abfrage 7: Datentyp (* |
| 39 | Zahl | 1 | Abfrage 7: Bei numerischen Datentypen: Multiplikator, bei String: Länge des Strings für Abfrage (* |
| 40 | Zahl | -1 | Abfrage 8: Modbus-Register in Dezimal Darstellung. -1: Abfrage wird deaktiviert (* |
| 41 | Zahl | 3 | Abfrage 8: Lese-Mechanismus / -Function: 1=Coil, 2=Discrete, 3=Holding, 4=Input (* |
| 42 | Text | uint16 | Abfrage 8: Datentyp (* |
| 43 | Zahl | 1 | Abfrage 8: Bei numerischen Datentypen: Multiplikator, bei String: Länge des Strings für Abfrage (* |

*) Unterstützt keine dynamischen Änderungen!

Expand Down Expand Up @@ -118,7 +119,11 @@ Sind mehr als 8 Werte auszulesen, so kann neben der Option noch der Ausgang 1 mi

## Sleep100ms

Nach einer Abfrage wartet der Baustein 100ms bevor er die zweite Abfrage macht. Manche Geräte sind mit den vielen Abfragen überfordert, da kann etwas Ruhe helfen.
Nach einer Abfrage wartet der Baustein 100ms bevor er die nächste Abfrage macht. Manche Geräte sind mit den vielen Abfragen überfordert, da kann etwas Ruhe helfen.

## Sleep500ms

Nach einer Abfrage wartet der Baustein 500ms bevor er die nächste Abfrage macht. Manche Geräte sind mit den vielen Abfragen überfordert, da kann etwas Ruhe helfen.

## ReconnectAfterEachRead

Expand Down
Loading

0 comments on commit e801c74

Please sign in to comment.