NEWS
Test Adapter canbus v1.1.x Latest
-
Würde es eurer Meinung nach noch Sinn machen, die Rolle der Parser-States im Admin direkt auswählen zu können?
-
@crycode
Wäre vielleicht eine kopier Funktion für die einzelnen Parser möglich?
So müsste man nicht immer alles neu abtippen. -
@cb187 Soeben habe ich die v1.1.2 veröffentlicht.
Hier ist jetzt das Kopieren und Einfügen für komplette Nachrichten (inkl. zugehöriger Parser) oder einzelner Parser über neue Buttons möglich: -
-
Hallo,
anbei ein neuer Export mit Lesen und Fragen und ergänzten Einheiten.
2021-04-06_CanBus_Rotex_HPSU_2013_Ask&Read-Export.csv
2021-04-06_CanBus_Rotex_HPSU_2013_Ask&Read-Export.json
@crycode : Bei den Objekten kann man in der Spalte "Rolle" button auswählen, ist ganz schick zum Abfragen/Testen kann man aber nicht Importieren/Exportieren...???Mic
-
Hallo @crycode :
die Umrechnung negativer Zahlen ist noch falsch gewählt. Hab gerade mal meinen kaputten Wasserdrucksensor gecheckt, er zeigt -0,4 bar an (0xFE 0x70) bei der BE Umrechnung kommt 65.136 bar raus. Was wäre die korrekte Umrechnungsmethode?Mic
-
@michael-wind
Machst du dir nen script damit er dir die updatet die du haben willst?
-
@michael-wind Vielen Dank für deine Arbeit und den ausführlichen Export! Dazu noch ein paar Anmerkungen:
- Als UUID sollten besser echte UUIDs verwendet werden. Das wird wichtig, wenn andere Leute die Daten importieren, damit es da zu keinen Überschneidungen kommt.
- Als Parser-ID würde ich lesbare IDs vorschlagen (z.B. t-we-soll). Das erleichtert die Nutzung der States in Skripten etc.
- Bei den Nachrichten, die du nicht senden möchtest, sollte Senden (
send
/msgSend
) deaktiviert sein (false
im json bzw.0
im csv). Damit verhindert der Adapter dann, dass diese Nachrichten (vom Adapter) gesendet werden können. - Den Parser-Datentyp solltest du am besten von mixed auf number (für Zahlen) oder boolean (für die button-States) ändern.
- Bei manchen Parsern hast "durch 1 Teilen" drin. Das kannst du weg lassen und einfach nur z.B.
value = buffer.readUInt16BE(5);
schreiben.
Und noch eine Frage: Ist Estrichprogramm ein Programmname von dir, oder ist das so von der Steuerung vorgegeben? Das wäre interessant zu wissen, wenn die Konfiguration dann direkt für andere Nutzer verfügbar gemacht wird.
@michael-wind sagte in Test Adapter canbus v1.1.x Latest:
Bei den Objekten kann man in der Spalte "Rolle" button auswählen, ist ganz schick zum Abfragen/Testen kann man aber nicht Importieren/Exportieren...???
Der Export exportiert nur die Konfiguration vom Adapter, aber nicht die States an sich.
Ich werde mal schauen, dass ich die Rolle direkt im Admin vom Adapter konfigurierbar mache. Dann ist die beim Export mit dabei.@michael-wind sagte in Test Adapter canbus v1.1.x Latest:
die Umrechnung negativer Zahlen ist noch falsch gewählt. Hab gerade mal meinen kaputten Wasserdrucksensor gecheckt, er zeigt -0,4 bar an (0xFE 0x70) bei der BE Umrechnung kommt 65.136 bar raus. Was wäre die korrekte Umrechnungsmethode?
Dann werden die Daten wohl nicht als Unsigned Integer (UInt), sondern als Signed Integer (Int) gesendet. Vermutlich ist das bei allen Daten so?
Dann musst du im Skript anstattreadUInt16BE(...)
dannreadInt16BE(...)
, also ohneU
, nutzen. Der Rest bleibt gleich.Grüße
Peter -
Hallo @crycode,
vielen Dank für die Antworten, sehr hilfreich.
Gibt es eine Doku? Die nächsten Fragen gingen in die Richtung Auswahlboxen für Gebäudedämmung "Aus/Gering/Normal/Gut/Sehr gut" oder HK-Funktion "0: Witterungsgeführte Vorlaufregelung, 1: Regelung auf einen festen Vorlaufsollwert, je nach Heiz-, Kühl- oder Absenkbetrieb".Oder String-Auswertung: Bei längeren Antworten wie der Software-Version etc. ...
Zu den Antworten:
-
Die UUID muss gesetzt sein, sonst funktioniert der Import nicht. Wass ich vorgebe, kann ich prinzipiell nur falsch machen. Kann man einen Trigger wie "create" benutzen, damit der Import die zufällige, aber zwingend von den existierenden unterschiedliche UUID generiert?
-
Die Parser-ID hilft mir persönlich gerade immens, meine Excel-Exporte zu kontrollieren. Stört doch sonst nicht, oder?
-
Senden (send/msgSend) deaktiviert: Mach ich.
-
Den Parser-Datentyp solltest du am besten von mixed auf number: Das war ein Test, ich bekommen unendlich viele LOG Einträge, siehe Screenshot: Obwohl der Datentyp (meiner Meinung nach) korrekt eingestellt auf Number war.
-
Durch 1 teilen: Ich setze die Scripte durch Excel Formeln von candumps von vor 6 Jahren zusammen. Für Schönheit käme später, stört doch auch nicht, oder?
Alle Einträge sind identisch zur Rotex Bedienungsanleitung. Das Estrichprogramm ist halt ein einmaliges Programm für Neubauten zum Abfahren einer Trocknungskurve zur optimalen Estrichtrocknung .
Viele Parameter benötigt man im täglichen Leben nicht und habe ich nur der Vollständigkeit halber ergänzt. Ich selber frage seit Jahren im Minutentakt nur ein paar Temperaturen und Modi ab und verhindere so das Kosten- und Verschleiss- treibende Takten der Anlage.
Mein Ziel ist es ja auch nur gewesen, über die Kostal oder Fronius Adapter ein paar Einflussmöglichkeiten zu bekommen, um die Heizung zukünftig nur laufen zu lassen, wenn die Phontovoltaik Anlage Strom generiert, also das Kosten- und Verschleiss- Thema weiter zu optimieren. Bislang hatte ich für "Komfort-Funktionen" nur selbstgeschriebene C-Programme, die über Remote-ssh einen Befehl von meiner HomeMatic zum RasPiZeroW (der an der Heizung immer noch den ELM via perl und den CAN-HAT steuert) absetzten. Da ist ioBroker doch wesentlich komfortabler mit seinen vielen Adaptern und Erweiterungsmöglichkeiten. Demnächst kommmt bestimmt noch eine Wallbox hinzu....
Dann stell ich mal alle Scripte auf readInt16BE() um.
Vielen Dank
Michael
-
-
Eine wirkliche Doku gibt es bisher nicht, da ich bislang dachte das meiste wäre selbsterklärend.
Für die Auswahlboxen gibt es in einem State die Option über
common.states
ein Objekt mit einer Wert->Text Zuordnung anzugeben. Ich überleg mal, wie man das im Adapter sinnvoll integrieren kann.@michael-wind sagte in Test Adapter canbus v1.1.x Latest:
Oder String-Auswertung: Bei längeren Antworten wie der Software-Version etc. ...
Du meinst denke ich, dass eine Antwort aus mehreren CAN-Nachrichten besteht oder? Ich denke hier wäre die beste Lösung über ein Skript im Javascript Adapter auf die Änderung dieser States zu achten und dann diese entsprechend zu verbinden und in einen neuen State unter
0_userdata.0.xxx
zu schreiben.@michael-wind sagte in Test Adapter canbus v1.1.x Latest:
Die UUID muss gesetzt sein, sonst funktioniert der Import nicht. Wass ich vorgebe, kann ich prinzipiell nur falsch machen. Kann man einen Trigger wie "create" benutzen, damit der Import die zufällige, aber zwingend von den existierenden unterschiedliche UUID generiert?
Viel falsch machen kann man dabei eigentlich nicht. Die UUIDs müssen schon in der zu importierenden Datei gesetzt sein, da hierüber (besonders bei der csv) die Zuordnung erfolgt. Beim Import neue UUIDs zu erzeugen macht hier auch keinen Sinn, da hierüber bei einem Re-Import die aktuelle Konfiguration angepasst werden kann.
Es gibt diverse Tools um dir eine UUID erzeugen zu lassen. Online geht das z.B. mit https://www.uuidgenerator.net/, oder unter Linux in einem Terminal mituuidgen
. Die vom Adapter erzeugten UUIDs sind UUIDv4, aber das sollte eigentlich egal sein.
Das gute an den UUIDs ist, dass sie quasi immer einzigartig sind. Die Chance 2x die gleiche UUID zu generieren geht gegen Null.Für Excel kannst du die folgende Funktion nutzen, um eine UUIDv4 zu generieren, wobei du dabei beachten solltest, dass sich die UUID bei jeder Aktualisierung ändert:
=KLEIN(VERKETTEN(DEZINHEX(ZUFALLSBEREICH(0;POTENZ(16;8));8);"-";DEZINHEX(ZUFALLSBEREICH(0;POTENZ(16;4));4);"-";"4";DEZINHEX(ZUFALLSBEREICH(0;POTENZ(16;3));3);"-";DEZINHEX(ZUFALLSBEREICH(8;11));DEZINHEX(ZUFALLSBEREICH(0;POTENZ(16;3));3);"-";DEZINHEX(ZUFALLSBEREICH(0;POTENZ(16;8));8);DEZINHEX(ZUFALLSBEREICH(0;POTENZ(16;4));4)))
@michael-wind sagte in Test Adapter canbus v1.1.x Latest:
Die Parser-ID hilft mir persönlich gerade immens, meine Excel-Exporte zu kontrollieren. Stört doch sonst nicht, oder?
Stört nicht, würde ich dann aber für eine "Vorgefertigte Konfiguration" ändern.
@michael-wind sagte in Test Adapter canbus v1.1.x Latest:
Das war ein Test, ich bekommen unendlich viele LOG Einträge, siehe Screenshot
Das war noch ein Bug in v1.1.0 und sollte ab v1.1.1 behoben sein. Wenn du bereits v1.1.1 oder v1.1.2 hast, dann bitte noch mal einen Upload des Adapters machen. Falls das nicht hilft, bitte noch mal Bescheid geben.
@michael-wind sagte in Test Adapter canbus v1.1.x Latest:
Durch 1 teilen: Ich setze die Scripte durch Excel Formeln von candumps von vor 6 Jahren zusammen. Für Schönheit käme später, stört doch auch nicht, oder?
Nein, stört nicht. Ist mir nur aufgefallen.
-
@michael-wind
Hi bei mir funktionieren die Werte auf dem Screenshot nicht bei dir vielleicht?!
Kannst du mal da nach schon?
Und meine stürzt noch alle nase lang ab. -
@cb187 Die 6538,6 °C kommen wahrscheinlich auch vom falschen Lesen der Zahl aus dem Buffer. Ersetz mal in dem Skript
buffer.readUInt16BE
mitbuffer.readInt16BE
, dann sollte die Zahl besser aussehen.Stürzt bei dir der Adapter oder die Wärmepumpe ab?
-
@crycode wärmepumpe.
-
Wie kann ich das in blockly abbilden?
Und noch ne Frage, kann man die ask auch automatisch ausführen lassen im Adapter?
So müsste ich alle Parameter wenn ich die aktualisieren will in nem script ausführen lassen. -
Hier nochmal von mir bearbeitet buffer.readInt16BE und /1
-
@cb187 sagte in Test Adapter canbus v1.1.x Latest:
Und noch ne Frage, kann man die ask auch automatisch ausführen lassen im Adapter?
Aktuell geht das noch nicht im Adapter selbst. Da muss ich mir noch was einfallen lassen, wie man das am sinnvollsten macht, damit die Konfiguration auch verständlich bleibt.
Du kannst aber über ein Skript einfach über
setInterval(...)
oderschedule(...)
einfach regelmäßig etwas in den Parser-State schreiben lassen. Bei Bedarf kann ich dazu auch gerne ein Beispiel zusammenbauen.
Mit Blocky habe ich selbst nie gearbeitet und kann deshalb ich nicht viel dazu sagen.Voraussichtlich morgen werde ich die neue v1.1.3 des Adapters veröffentlichen.
Neu sind dann die Möglichkeit für jeden Parser eine Rolle zu definieren und die Möglichkeit State-Mappings zu definieren, wodurch einzelne Werte eines States z.B. einem Anzeigetext zugewiesen werden können. -
@crycode Ok. Was jetzt ganz cool ist ich verstehe soglangsam wie das mit dem Buffer funktioniert.Aufjedenfall weiß ich wann 1und2 oder 3-4 genommen werden muss.
-
Nochmal nen Update wo jetzt WW und Raumsoll gesetzt werden können.
-
anbei meine vorerst letzte Version. Es sollten eigentlich alle gewünschten Modifikationen wie Einheiten, UUIDs, etc. enthalten sein. Hab alle gecheckt und es sollten keine Abstürze mehr auftreten.
2021-04-09_CanBus_Rotex_HPSU_2013_Read&Ask&Set.csv
Es sind auch ein paar Sets drin.Das Setzen des Modus ist mir allerdings nicht gelungen, wie auch die nachfolgenden -set, die mir nicht gelungen sind:
2021-04-09_CanBus_Rotex_HPSU_2013_Set-not-ok.csv
Vielleicht findet ihr mit eurem größeren Verständnis über den CAN Bus den Grund, warum sie nicht funktionieren.Viel Erfolg
Mic
-
@michael-wind bei mir funktioniert ww raumsoll und spreizung.Mehr habe ich nicht probiert.alles andere brauchbman auch nicht ausser noch betriebsmodus.