NEWS
Summe ist nicht korrekt ?
-
Hallo!
ich habe da ein paar Alias Variablen (von Mqtt Adaptern..) und die Summe ist nicht korrekt? Verstehe da jetzt nicht, was er will oder muss da nochwas umgerechnet werden wegen den Mqtt Variablen?
-
@humidor Lass doch mal die vier Einzelwerte und das Rechenergebnis als Logging durch das Script ausgeben ...
Vielleicht bricht ja SE/Power kurzzeitig auf 0 zusammen ... Dann käme nach obigen Werten ~ 3505 W heraus, was ausreichend nahe an dem Ergebnis liegt ... (sind ja in etwas zeitlichem Abstand - mindestens Sekunden - gemachte Screenshots)
-
@humidor
Nimm nur den DP als Trigger, der im Zyklus zuletzt aktualisiert wird oder baue eine kurze Verzögerung (100 ms) ein, die vorher gestoppt wird, damit nur zeitlich zusammenhängende Werte addiert werden. -
@paul53 hmm, zyklus, hier gibt es mM keinen, jedes Gerät ist für sich aktiv, unabhängig von den anderen und Mqtt liefert passiv Werte, wenn sich was ändert wird aktualisiert
das ist jetzt auch nicht so kritisch, ob der Wert 100% stimmt.das Logging probiere ich mal
der SE fehlt
am Wert selbst liegt das nicht
was mich stört, man legt einen Alias an, dennoch im Blockly wird immer die Ausgangsvariable angezeigt, im Alias gibt es auch Umrechnungen usw....
-
@humidor sagte: das Logging probiere ich mal
Wie man sieht, kommen alle 4 Werte unmittelbar nacheinander. Der DP mit dem Wert 5523 triggert zuletzt.
-
-
@paul53 Der letzte Wert wird in der Summe nicht berücksichtigt ... nur die ersten drei Werte ...
-
@martinp alle Werte sind vor der Addierung vorhanden....
-
hab mehrere Varianten probiert, auch nur Trigger auf den SE Wert
es ändert nichtsdh es liegt am Datenpunkt, der wird nicht richtig verarbeitet
-
@humidor sagte: es liegt am Datenpunkt, der wird nicht richtig verarbeitet
Versuche es mal so:
-
@paul53 nein, das liegt nicht daran
habs schon gefunden, er musst nach Zahl konvertiert werden, jetzt fkt. es.
-
@humidor Das sehe ich ja auch...
Um der Sache auf den Grund zu gehen, könnte man zum Einen die Werte direkt am Anfang des Skriptes in Variablen ablegen, um sozusagen einen "Snapshot" zu haben, und dann nur noch über die Variablen arbeiten, sowohl im Logging, als auch in den Berechnungen...
Dann könnte man sich das generierte Javascript des Blockly anschauen,
und auch mit der Reihenfolge der Summenbildung im Blockly spielen, ob es immer der ..22... Wert ist, der unterschlagen wird, oder ob es immer der letzte Wert der Summenbildung ist der unter den Tisch fällt ...
Edit: Hatte Deinen Post nicht gesehen, mitten im Schreiben klingelte das Telefon ...
habs schon gefunden, er musst nach Zahl konvertiert werden, jetzt fkt. es.
-
@martinp ich habe den SE Wert auf eine neue Variable geschrieben und da hat mir die Meldung " String auf Number" gleich auch die Ursache verraten, das wars.
Warum die Datenpunkte aber unterschiedlich sind, das überlasse ich iobroker, das zu beantworten.... -
@humidor Dieses Problem hat mich etwas ins Überlegen gebracht: Wie kriegt man nähere Informationen zum Inhalt von Datenpunkten, ob es ein String, ein Zahl oder ein boolean ist ...
Bei den userdata Datenpunkten klickt man auf den Stift und sieht dann sofort, was Sache ist, bei den meisten anderen Datenpunkten gibt es den Stift nicht ...
Aus der Konsole kann man sich die Daten alle holen:
martin@iobroker-test-sicher:~$ iob object get 0_userdata.0.Puls-Rolltor {"common":{"name":"Puls-Rolltor","desc":"Manuell erzeugt","role":"state","type":"boolean","read":true,"write":true,"def":false},"type":"state","native":{},"from":"system.adapter.admin.0","user":"system.user.admin","ts":1680183249917,"_id":"0_userdata.0.Puls-Rolltor","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}}
.... role : state, type : boolean ...
Im Browser scheint das nicht sehr offensichtlich, wie man an die Info kommt ...
-
@martinp sagte: bei den meisten anderen Datenpunkten gibt es den Stift nicht ...
Im Expertenmodus gibt es den Stift bei allen Objekten.
-
@paul53 sagte in Summe ist nicht korrekt ?:
@martinp sagte: bei den meisten anderen Datenpunkten gibt es den Stift nicht ...
Im Expertenmodus gibt es den Stift bei allen Objekten.
Hand -> Stirn....
-
@martinp das ist richtig, aber warum legt Alias bzw. iobroker mal "string" mal "mixed" mal "nubers" an, das meinte ich
beim SMA ist es mixed
beim SE ist es string
.... -
@humidor Das kann man doch beim Anlegen steuern, oder gehst Du über den Alias-Adapter - da wird ggfs. der Alias-Datenpunkt den Datentyp des Quell-Datentyps aufgedrückt bekommen?
-
@martinp beim Alias Manager geht man nicht den Umweg, den DP vorher selbst nazulegen
und dort ist überall number drin. -
@humidor Dann beschwer Dich beim Entwickler dieses Alias Managers ...
Ich lege die Alias-Datenpunkte lieber selber an - da weiß ich dann, dass es auch richtig gemacht wird ...
Habe den Alias-Manager mal ausprobiert, und beim ersten Test gedacht, dass er mir mehr Arbeit macht, als abnimmt ...
Wenn ich mir aber die Anleitung bei Github anschaue
https://github.com/iobroker-community-adapters/ioBroker.alias-manager
... dann kann man da auch den Datentyp des Alias wählen, wenn man einen anlegt ...
Wenn man natürlich die "Autocreate" Funktion benutzt, und nicht so genau hinschaut, was die Automatik da gemacht hat, passiert so etwas...