Comments (29)
Hey, also paul53 aus dem ioBroker Forum hat den Fehler gefunden. Es liegt am JSON des Weathermans. Ich habe Eugen auch schon angeschrieben, ob er es bitte korrigieren kann.
Hier ein Beispiel:
"regen_mm_heute": "value":"519.0". Richtig wäre "value":519.0
Es kommen alle "VALUE" Daten mit Hochkomma an, heißt alle Werte kommen als String an und nicht in den verschiedenen Typen.
from iobroker.wiffi-wz.
from iobroker.wiffi-wz.
Wenn alles klappt realease ich das heute. Ansonsten könnte man auch die main.js austauschen.
from iobroker.wiffi-wz.
from iobroker.wiffi-wz.
Also im Adapter kommen die Daten auch soweit alle an und werden auch aktualisiert (werden auch immer kurz grün).
Wenn aber der Regenmelder auf den Status true aktualisiert wird, wird jedoch das Skript von mir nicht ausgeführt.
Am Skript kann es nicht liegen, da ich das gleiche Skript mit einem Gerät probiert habe, dass auf true geändert wird, dann läuft das Skript genau so durch wie es soll.
Ich habe das Gefühl, dass die Daten zwar aktualisiert werden aber ioBroker nicht mitgeteilt wird, dass sich der Status wirklich geändert hat und eventuell etwas ausgeführt werden soll.
Sry vll für die doofe frage, aber wie installiere ich denn einen andernen Branch?
from iobroker.wiffi-wz.
Ich hänge mich hier mal mit ran, habe nämlich das gleiche Problem.
Der Trigger wird im Script einfach nicht ausgeführt. Bin noch am rumprobieren woran es liegt, ist mir leider gestern erst aufgefallen, als ich ein Sonnenschutz Script aktiviert habe.
Als Beispiel ein: if(getState('wiffi-wz.0.root.192_168_66_134.w_sonne_scheint'/16/).val === true)
wird einfach nicht getriggert, obwohl die ObjectID sich auf "true" ändert.
Zum Vergleich hier mal meine aktuellen Versionen:
Admin: 3.6.3
js-controller: 1.5.11
from iobroker.wiffi-wz.
from iobroker.wiffi-wz.
Werde ich mal testen, aber ich glaube nicht, dass es daran liegt. Ich habe aber momentan keine Idee woran es liegt. Hier mal ein Beispiel mit dem ich gerade teste um herauszufinden woran es liegt.
Es ist meiner Meinung nach sehr kurios, werde es gleich mal im Forum posten.
on("telegram.0.communicate.request", function (obj) {
if (obj.newState.val == "[Frank]sonne") { //Telegram anfragen
var sonne = getState('wiffi-wz.0.root.192_168_66_134.w_sonne_scheint'/16/).val;
if (sonne === false){
log(getState('wiffi-wz.0.root.192_168_66_134.w_sonne_scheint').val);
sendTo('telegram', getState('wiffi-wz.0.root.192_168_66_134.w_sonne_scheint'/16/).val);
}
}
});
Nicht für verrückt erklären, dass Script war nur zum Testen ;-)
Folgendes:
Die Variable "sonne" wird noch nicht mal mit getState geholt. Das Script läuft dort schon nicht weiter.
Trage ich dort einen anderen Datenpunkt ein, läuft das Script komplett durch, es erscheint die Variable mit Wert im Log und ich bekomme auch die Variable über Telegram geschickt.
Sehr seltsam
from iobroker.wiffi-wz.
from iobroker.wiffi-wz.
Also was genau ich mit der main.js aus dem Branch machen soll usw. bin ich leider raus...
from iobroker.wiffi-wz.
from iobroker.wiffi-wz.
Sorry, geht leider auch nicht. Habe die aus 2.1.0 und 2.1.1 ausprobiert ohne Erfolg.
Nehme ich eine "true/false" Datenpunkt vom Wiffi-Pump geht es, nur vom Weatherman nicht.
Nochmal Edit: Nehme ich z.B. den Datenpunkt w_regensensor_wert vom weatherman (ist zur Zeit "5" als trigger läuft das Testscript. Nur w_sonne_scheint und w_regenmelder (also beides true/false Werte) läuft es nicht.
from iobroker.wiffi-wz.
Hey,
Problem erkannt. Der Wert von sonne_scheint und regenmelder kommt als String an und nicht als bool Wert. Das ist das Problem.
Schreibe ich im Script anstatt true/false -> 'true'/'false' funktioniert es.
Beim Testen mit log(test + typeof test); kommt im Log zurück false string. Also wird der Wert als String ausgegeben. Warum verstehe ich aber nicht, da der Typ (zumindest in den Raw Daten) als Type:boolean hinterlegt ist.
Kannst du das bitte im Adapter fixen?
from iobroker.wiffi-wz.
Danke dir für die Problemfindung :-)
kann man diese Besonderheit auch mit Blockly realisieren bzw. lösen?
Ansonsten muss ich halt alles mit Blockly machen und dann den fertigen Code in ein Javascript einfügen und die betreffenden Stellen bearbeiten
Oder wird es dazu eh bald ein Adapterupdate kommen und ich warte einfach bis es damit geht :-)
from iobroker.wiffi-wz.
Na sicher kannst du es mit Blockly lösen. Kenne jetzt dein Blockly nicht, aber du müsstest einfach dort wo der Wert abgefragt wird anstatt ein wahr/falsch Block einen Istgleich Block mit Text "true" oder "false" einbauen
from iobroker.wiffi-wz.
achso, ich dachte da muss was spezielles hin und nicht nur simpel ein Text :-)
danke dir, es klappt
from iobroker.wiffi-wz.
Hm, ich habe es im Adapter gecheckt, der Type boolean sollte richtig angelegt werden. Kann mir jemand das Datagramm schicken? Ich habe keinen Weatherman, daher kann ich das nicht testen. Also Adapter auf Debug schalten und das JSON aus received Datagram bitte posten.
from iobroker.wiffi-wz.
Kein Problem.
Seltsamerweise ist im JSON der Wert auch boolean und in den RAW Daten der beiden Datenpunkte in iobroker ist auch Type:boolean hinterlegt.
Full message: {"modultyp":"weatherman","vars":[{"name":"0","homematic_name":"w_ip","desc":"weatherman_ip","type":"string","unit":"","value":"192.168.66.134"},{"name":"1","homematic_name":"w_temperatur","desc":"aussentemperatur","type":"number","unit":"gradC","value":"25.8"},{"name":"21","homematic_name":"w_windchill","desc":"gefuehlte_temperatur","type":"number","unit":"gradC","value":"25.8"},{"name":"9","homematic_name":"w_taupunkt","desc":"taupunkt_temperatur","type":"number","unit":"gradC","value":"10.4"},{"name":"14","homematic_name":"w_himmeltemperatur","desc":"himmel_temperatur","type":"number","unit":"gradC","value":"0.0"},{"name":"2","homematic_name":"w_feuchte_rel","desc":"rel_feuchte","type":"number","unit":"%","value":"38.0"},{"name":"17","homematic_name":"w_feuchte_abs","desc":"abs_feuchte","type":"number","unit":"g/m3","value":"9.1"},{"name":"18","homematic_name":"w_regensensor_wert","desc":"regenmelderwert","type":"number","unit":"","value":"5"},{"name":"7","homematic_name":"w_regenmelder","desc":"regenstatus","type":"boolean","unit":"","value":"false"},{"name":"8","homematic_name":"w_regenstaerke","desc":"regenstaerke","type":"number","unit":"mm/h","value":"0.0"},{"name":"19","homematic_name":"w_regen_letzte_h","desc":"regen_pro_h","type":"number","unit":"mm","value":"0.0"},{"name":"20","homematic_name":"w_regen_mm_heute","desc":"regen_mm_heute","type":"number","unit":"mm","value":"519.0"},{"name":"32","homematic_name":"w_regenstunden_heute","desc":"regenstunden_heute","type":"number","unit":"h","value":"0.0"},{"name":"27","homematic_name":"","desc":"regen_mm_gestern","type":"number","unit":"mm","value":"1245.5"},{"name":"3","homematic_name":"w_barometer","desc":"nn_luftdruck","type":"number","unit":"mb","value":"1300.00"},{"name":"11","homematic_name":"w_barotrend","desc":"luftdrucktrend","type":"string","unit":"","value":"bitte_warten"},{"name":"4","homematic_name":"w_wind_mittel","desc":"avg_windgeschwindigkeit","type":"number","unit":"m/s","value":"0.6"},{"name":"5","homematic_name":"w_wind_spitze","desc":"peak_windgeschwindigkeit","type":"number","unit":"m/s","value":"0.8"},{"name":"24","homematic_name":"w_windstaerke","desc":"bft_windgeschwindigkeit","type":"number","unit":"bft","value":"1"},{"name":"23","homematic_name":"w_windrichtung","desc":"windrichtung","type":"string","unit":"","value":"W"},{"name":"6","homematic_name":"w_wind_dir","desc":"windwinkel","type":"number","unit":"grad","value":"270"},{"name":"10","homematic_name":"w_lux","desc":"helligkeit","type":"number","unit":"lux","value":"11374.0"},{"name":"22","homematic_name":"w_sonne_diff_temp","desc":"sonnen_difftemperatur","type":"number","unit":"gradC","value":"13.6"},{"name":"15","homematic_name":"","desc":"sonnen_temperatur","type":"number","unit":"gradC","value":"39.4"},{"name":"16","homematic_name":"w_sonne_scheint","desc":"sonne_scheint","type":"boolean","unit":"","value":"true"},{"name":"26","homematic_name":"w_sonnenstunden_heute","desc":"Sonnenstunden_heute","type":"number","unit":"h","value":"0.8"},{"name":"12","homematic_name":"w_elevation","desc":"sonne_elevation","type":"number","unit":"grad","value":"47.2"},{"name":"13","homematic_name":"w_azimut","desc":"sonne_azimut","type":"number","unit":"grad","value":"112.8"},{"name":"30","homematic_name":"w_minuten_vor_sa","desc":"minuten_vor_sa","type":"number","unit":"min","value":"-307"},{"name":"31","homematic_name":"w_minuten_vor_su","desc":"minuten_vor_su","type":"number","unit":"min","value":"650"}],"Systeminfo":{"MAC-Adresse":"a0:20:a6:21:c5:24"
from iobroker.wiffi-wz.
Hier noch die Raw Daten vom regenmelder Datenpunkt, da steht ja boolean. Aber es kommt trotzdem im Script als String, keine Ahnung warum.
{ "type": "state", "common": { "read": true, "write": false, "desc": "regenstatus", "unit": "", "role": "sensor", "id": "w_regenmelder", "name": "7", "type": "boolean" }, "native": {}, "from": "system.adapter.wiffi-wz.0", "user": "system.user.admin", "ts": 1559584147686, "_id": "wiffi-wz.0.root.192_168_66_134.w_regenmelder", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Schau hier:
Script:
var test = getState('wiffi-wz.0.root.192_168_66_134.w_regenmelder'/*7*/).val; log(test + typeof test);
Log:
21:49:37.171 info javascript.0 Stop script script.js.Skript_1 21:49:46.509 info javascript.0 Start javascript script.js.Skript_1 21:49:46.509 info javascript.0 script.js.Skript_1: falsestring 21:49:46.509 info javascript.0 script.js.Skript_1: registered 0 subscriptions and 1 schedule 21:49:49.534 info javascript.0 Stop script script.js.Skript_1
from iobroker.wiffi-wz.
Danke, könntest Du bitte die Version in dem Issue-Branch testen? Main.js drüber kopieren sollte reichen.
from iobroker.wiffi-wz.
Hab die main.js probiert, leider kommt immer noch String zurück.
from iobroker.wiffi-wz.
from iobroker.wiffi-wz.
Also ich hab mit Eugen (dem Entwickler der Wiffis) gesprochen, er wird bei dem "neuen" Konzept bleiben und somit alle "values" als String definieren. Auch wird er nach und nach die Programme der anderen Wiffis umschreiben. Dann müsste man leider doch den Adapter umbauen
from iobroker.wiffi-wz.
Könnte jemand bitte die aktuelle Version im Issue-Branch testen? Das Austauschen der main.js sollte genügen.
from iobroker.wiffi-wz.
Testscript spuckt leider immer noch das Gleiche aus. Kommt nur String zurück:
`
javascript.0 | 2019-06-16 23:09:50.246 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_windrichtung Solltyp: string Isttyp: string |
---|---|---|---|
javascript.0 | 2019-06-16 23:09:50.246 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_windchill Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.246 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_wind_spitze Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.246 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_wind_mittel Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.246 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_wind_dir Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.246 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_temperatur Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.245 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_taupunkt Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.245 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_sonnenstunden_heute Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.245 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_sonne_diff_temp Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.245 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_regenstunden_heute Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.245 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_regenstaerke Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.245 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_regensensor_wert Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.245 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_windstaerke Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.245 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_regen_mm_heute Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.245 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_regen_letzte_h Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.242 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_minuten_vor_su Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.241 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_minuten_vor_sa Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.241 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_ip Solltyp: string Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.241 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_himmeltemperatur Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.241 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_feuchte_rel Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.241 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_feuchte_abs Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.241 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_elevation Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.241 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_barotrend Solltyp: string Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.241 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_barometer Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.241 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_azimut Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.241 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_lux Solltyp: number Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.241 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_sonne_scheint Solltyp: boolean Isttyp: string |
javascript.0 | 2019-06-16 23:09:50.241 | info | script.js.Skript_1: ID: wiffi-wz.0.root.192_168_66_134.w_regenmelder Solltyp: boolean Isttyp: string |
`
from iobroker.wiffi-wz.
Ok, ok, ich glaube das war es jetzt, mag es jemand testen?
from iobroker.wiffi-wz.
Hey, sieht gut aus. Testscript zeigt jetzt alle Typen richtig an. Habe jetzt meine Scripte nochmal umgestellt, sollte funktionieren. Danke Dir.
from iobroker.wiffi-wz.
das heißt, jetzt einfach die 3 Dateien in ioBroker Ordner austauschen oder wirst du das komplett als Update in ioBroker laufen lassen?
dann kann ich meine Skripte gleich mal alle umschrauben auf den normalen true und false ohne Text :-)
from iobroker.wiffi-wz.
hi, seit dem Update bekomme ich keine Statusänderung der beiden Bewegungsmelder des WiffiWZ mehr an den Iobroker übertragen . Besteht das Problem noch bei wem anders oder muss hier bei mir weiter suchen...Auf der Gui des WiffiWZ wird die Bewegung erkannt...
from iobroker.wiffi-wz.
Related Issues (20)
- Compatibility check to js-controller 4.0
- Think about to fix the issues found by adapter checker
- Update stable version in repo to 2.2.0 HOT 1
- Update stable version in repo to 2.2.0
- Datenpunkte können nicht zuverlässig verarbeitet werden HOT 18
- purpose of root device HOT 1
- wrong unit (m/s instead of kph) HOT 2
- Incoming admin events increased
- wiffi-wz causes high stress (incoming events) to admin instance
- has no existing object JS-Controller 3.2.x HOT 1
- This object will not be created in future versions
- js-controller 3.3.x HOT 1
- Think about to fix the issues found by adapter checker HOT 1
- Compatibility check to js-controller 3.3 and Admin5 React UI HOT 1
- Compatibility check and testing for Node.js 14 and 16 HOT 1
- New release HOT 1
- Release script: Action required
- Wrong parameter in chapter setup in readme
- js controller 3.3 HOT 1
- Fehlermeldung bei Neustart der Instanz (js-controller: 3.3.18) HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from iobroker.wiffi-wz.