Moin,
die Anfrage kann ich nur unterstützen.
Solcast hat für mich bisher am Besten funktioniert und ich habe darauf meine Berechnungen gestützt.
Wäre super, wenn der Adapter wieder für Solcast funktionieren würde.
Grüße
Moin,
die Anfrage kann ich nur unterstützen.
Solcast hat für mich bisher am Besten funktioniert und ich habe darauf meine Berechnungen gestützt.
Wäre super, wenn der Adapter wieder für Solcast funktionieren würde.
Grüße
Hallo,
vielen Dank für die Erläuterungen.
Ich versuche tatsächlich einen Datenpunkt eines Adapters zu beschreiben.
Dieser setzt dann natürlich den ack immer auf true, wenn er die Daten verarbeitet hat.
Schade, die Dokumentation sagt ja aus, dass der Datenpunkt nur geschrieben wird, wenn die VALUE (val) sich geändert hat:
Same as setState, but set value only if the value is really changed.
An der Stelle ist die Dokumentation dann wohl nicht ganz korrekt.
@Bluefox könnte man die Funktion setStateChanged nicht so erweitern, dass man angeben kann, welche Attribute betrachtet werden sollen? (in meinem Fall würde der Vergleich von val ausreichen)
Grüße,
Olli
Hallo,
ich würde gerne einen gleichen Wert nicht überschreiben, wenn setState ausgeführt wird.
Dies ist natürlich über folgende Abfrage möglich:
function test(){
if(getState('myState').val != false){
setState('myState', false);
}
}
Ich habe in der JavaScript Doku folgende Funktion gefunden:
setStateChanged
Wenn ich dann allerdings diese Funktion nutze, wird beim Aufruf der Funktion "test" trotzdem der Wert false erneut geschrieben.
function test(){
setStateChanged('myState', false);
}
Mache ich irgendwas falsch? Ist die Funktion dafür nicht geeignet?
Grüße,
Olli
@paul53
Vielen Dank, also hatte ich ja doch etwas falsch verstanden.
Habe es nun ohne "id:{..}" eingebaut, wie du geschrieben hast und die Funktion wird auch ohne "change: 'ne'" nicht immer wieder ausgeführt.
Vielen Dank für die schnelle Hilfe!
Grüße,
Olli
Hallo,
ich ahbe ein Script schon länger am laufen und nach einem Update des javascript Adapters scheint es so, dass sich am Verhalten der "on" Funktion etwas geändert hat.
In der Hilfe ist folgendes beschrieben:
on -> change -> "ne" -> (not equal) New value must be not equal to the old one (state.val != oldState.val) If pattern is id-string this value is used by default
Nun wird aber eine on Funktion immer wieder ausgeführt, obwohl die value von mqtt.0.sensor sich nicht ändert (immer value=false)
on({id: 'mqtt.0.sensor'}, function(){
log("testausgabe");
})
Ich muss nun folgendes schreiben, damit das Verhalten passt:
on({id: 'mqtt.0.sensor', change: 'ne'}, function(){
log("testausgabe");
})
Vorher hat die Funktion so gearbeitet wie sie soll.
Gibt es einen bekannten Fehler, der dieses Verhalten beschreibt, oder ist die Doku veraltet oder habe ich einen Denk-/Verständnisfehler?
Grüße,
Olli
Hallo,
ich habe ein Objekt per Hand erzeugt, um zwischen gewissen Werten per Visu (Lovelace) wählen zu können.
Zusätzlich möchte ich per javascript den ausgewählten Wert ändern können.
Folgendes Objekt habe ich erzeugt:
{
"common": {
"name": "Sollwert Lüftungsstufe",
"desc": "Manuell erzeugt",
"role": "state",
"type": "array",
"states": {
"0": "Feuchteschutz",
"1": "Reduziert",
"2": "Normal",
"3": "Intensiv"
},
"read": true,
"write": true,
"def": ""
},
"type": "state",
"native": {},
"_id": "0_userdata.0.Lüftungsanlage.Lüftungsstufe",
"acl": {
"object": 1636,
"state": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator"
},
"from": "system.adapter.admin.0",
"user": "system.user.admin",
"ts": 1701632964813
}
Wenn ich nun folgenden js code ausführe, dann wird eine Warnung erzeugt, die Funktion ist aber gegeben.
setState('0_userdata.0.Lüftungsanlage.Lüftungsstufe', 1, true);
Warnung:
You are assigning a number to the state "0_userdata.0.Lüftungsanlage.Lüftungsstufe" which expects a array. Please fix your code to use a array or change the state type to number. This warning might become an error in future versions.
Wie kann ich also per javascript dem State "Lüftungsstufe" den Wert "1": "Reduziert" zuweisen, ohne das eine Warnung erzeugt wird?
Grüße,
Olli
Hallo,
ich habe folgendes Problem:
Ich habe einen Slider aus dem Widget Materialdesign verwendet.
Wenn ich diesen mit der Maus oder am Smartphone ziehe (also drag&drop), dann pringt der Sliderpunkt kurz zuück.
Ich habe dazu ein kleines GIF hier angehängt in den man das Verhalten erkennen kann.
Mit der Maus ist das Verhalten etwas schwieriger nachzuahmen, man muss schon sehr schnell ziehen.
Auf dem Touchscreen ist das Verhalten schon sehr störend.
Ich kann mir nicht vorstellen, dass dieses Verhalten so normal ist, daher meine Frage: Was kann ich dagegen machen?
Grüße,
Olli
Hallo,
ich habe nun auch den Weg zu dieser Visualisierung gefunden.
Es ist wirklich gut dokumentiert und man kann sich recht gut selber zurecht finden.
Vielen Dank dafür schonmal an alle, die vor mir die Hürden gemeistert haben und dies auch noch so gut dokumentiert haben!
Eine Hürde konnte ich dann aber doch noch nicht alleine überwinden:
Ich habe in iobroker mein KNX System eingebunden.
Jedes Fenster ist bei mir mit jeweils einem Öffnungssensor und einem Kippsensor ausgestattet.
Diese Sensoren gehen auf jeweils einen Binärkanaleingang im KNX System.
Somit stehen die Informationen "gekippt -> ja/nein" und "geöffnet->ja/nein" in iobroker als 2 einzelne Datenpunkte bereit.
Nun würde ich gerne in lovelace einen Text oder auch ein Icon pro Fenster anzeigen lassen, welches den aktuellen Zustand des Fensters wiederspiegelt.
Dazu müssen dann ja aber 2 Datenpunkte zu einer Information verarbeitet werden und 3 Zustände unterschieden werden: geschlossen / geöffnet / gekippt
Ich habe dazu die markdown Karte gefunden, mit der ich bereits erfolgreich auf die iobroker datenpunkte durchgreifen konnte:
{a:openknx.0.Melden_Sensor.OG_Sensoren.OG-Büro-Kippsens__Fenster_(Melden); a===true || a ==='true' ? 'geöffnet' : 'geschlossen'}
Nun fehlt mir aber die Idee, wie ich den zweiten Datenpunkt darin verarbeiten kann. Oder geht das so gar nicht?
Gibt es evtl. eine andere Idee, wie ich die beiden Informationen verarbeiten und die entsprechende Information anzeigen lassen kann?
Vielen Dank!
Systemdata | |
---|---|
Hardwaresystem: | Proxmox |
Arbeitsspeicher: | 4GB |
Festplattenart: | HDD |
Betriebssystem: | Ubuntu |
Nodejs-Version: | v18.16.0 |
NPM-Version: | v9.5.1 |
Installationsart: | Skript |
Image genutzt: | Nein |
Ich habe den MQTT Adapter in der Version 4.1.1 installiert und eine Instanz davon erzeugt.
Leider lässt sich der MQTT Adapter nicht parametrieren.
Ich gebe folgende Daten ein:
IP: Client/Subscriber
URL: 192.168.178.9
Port: 1883
Benutzername
Passwort
Wenn ich dann auf "Speichern" klicke, wird die Fehlermeldung
[JsonConfig] Cannot set object: TypeError: Cannot read properties of undefined (reading 'lib')
angezeigt.
Ich habe bereits mehrfach den Adapter komplett deinstalliert und auch
iobroker stop
iobroker fix
iobroker start
ausgeführt. Keine Änderung...
Woran kann diese Fehlermeldung liegen?
Im Protokoll (im Browser) kommt leider nichts dazu an.
Grüße,
Olli
Hallo @snakescb
durch deinen Eintrag konnte ich zumindest den Admin per reverse proxy zugänglich machen.
Leider fehlt mir aber der Durchblick, um die Wiki Config aus dem Wiki Eintrag
Zugriff auf ioBroker von außen über Reverse Proxy
mit den genannten Zeilen für den websocket zu ergänzen.
Das wäre super, wenn das dort jemand ergänzen könnte, bzw. hier eine aktualisierte Version einfügen würde.
Grüße,
Olli