eine der letzten neuen Funktionen der 7.0 ist mit dem heutigen Update gelandet.
Eine lang gewünschte Funktion für ModBus war, dass die jeweiligen Coils/Register in einer Liste editierbar sind und direkt als Variablen unterhalb einer Instanz liegen. Dies ist mit dem dem heutigen Update möglich. Zusätzlich können diese Listen als sogenannten ModBus Vorlagen exportiert werden (inkl. der Profile), sodass diese in der Community geteilt werden können. Diese verbesserte ModBus Anbindung macht einige der speziellen „Module Store“ Module für ModBus in Zukunft obsolet und vereinfacht das Auslesen und Einrichten von ModBus Gerät (insbesondere bei vielen gleichen Geräten) um ein vielfaches.
Kurze Zusammenfassung der Funktionen:
Listenbasierte Konfiguration, die sich sehr an die tabellarische Darstellung von ModBus Protokolllisten orientiert
Import/Export von Vorlagen, die geteilt werden können
Virtuelle Adressen, um z.B. einen Durchschnitt von mehreren Registern direkt zu berechnen und in einer Variable abzulegen. Diese virtuellen Adressen sind ebenfalls Bestandteil der Vorlage
Profile werden in die Vorlagen exportiert/importiert
Zusätzlich haben wir die Datentypen umbenannt und konsistenter an aktuelle Dokumentation angepasst, um die Einrichtung zu vereinfachen. Diese Verbesserung ist auch in den Einzel-Instanzen verfügbar.
Wir werden im ersten Schritt Vorlagen für Mennekes, ALFEN und ABL Wallboxen erstellen und mit euch teilen. Eine Kategorie zum Teilen&Tauschen von Vorlagen findet ihr hier:
Aktuell fragt die Instanz die Coils/Register noch einzeln ab. Dies wollen wir mit einem zukünftigen Update intelligenter gestalten und automatisch passende Blöcke bilden.
PS: Dieses Feature nutzt einige der neuen PHP-SDK Funktionen wie z.B. dynamische Formulare für Listen und Downloads für Buttons, die auch für euch verfügbar sind
Beim Lese-Skript sind in $VALUES alle Werte mit den jeweiligen Idents verfügbar. Der neue Wert, der in der Variable der virtuellen Adresse laden soll, wird einfach mit return zurückgegeben.
Beim Schreibt-Skript wird ein Assoziatives Array als return erwartet, welches alle Ident enthält, in die geschrieben werden soll. $VALUE enthält den neuen Wert, der per RequestAction angefordert wurde.
Das hört sich sehr gut an. Wird es auch einen vorlagen"store" geben? Sich vorlagen irgendwo raussuchen zu müssen könnte sonst langwierig und fehleranfällig werden…
Definitiv ist das unser langfristiger Plan. Wie genau haben wir noch nicht ausgearbeitet - aber ja, langfristig soll das ganze irgendwie mit dem Module Store verknüpft werden können, damit man die Vorlagen besser/schneller finden kann.
dann legt er eine Ineger Variable an. Wenn ich dann aber ein Profil („Watt“) zuordnen will, dann bietet er mir korrekterweise die Integer Profile zu Auswahl an.
Bei anschließenden Speichern kommt aber der Fehler
Wenn man bei einem Element im nachhinein den Typ ändert oder eine Rechenregel einfügt, so dass sich der Variablentyp ändert, dann wird die betroffene Variable gelöscht und eine neue angelegt.
Das kann wie ich an anderer Stelle schon mehrfach „schmerzhaft“ erfahren durfte durchaus unangenehm sein. Bitte hier eine bessere Lösung finden.
Ich kann das leider nicht nachstellen. Wenn ich UINT32 auswähle, dann bekomme ich nur Integer Profile angezeigt und er übernimmt das korrekt. Hast du evtl. noch was bei den virtuellen Adressen drin, wo ein falschen Profile drin sein könnte?