NEWS
Erstes Blockly komme nicht weiter
-
Hallo zusammen,
ich versuche mich gerade an meinem ersten Blockly, aber ich weiss gerade nicht weiter.
Ich habe einen Xiaomi Vacuum Cleaner, welcher über den Xiami Vacuum Adapter, mit dem ioBroker verbunden ist. Hierüber zeigt er mir seinen Status an und gibt nur eine Zahl aus, zB zeigt er mir gerade eine 2 an, was bedeutet dass er auf Standby ist und im Sleepmodus. Jetzt möchte ich ein Skript, welches mir die Zahlen in einen Text umwandelt und diesen Text möchte ich in meiner Vis anzeigen lassen.
Ich habe noch nie ein Blockly gemacht und habe mal versucht anzufangen, aber leider bin ich nicht weit gekommen.Ich weiss nicht wie ich ihm sagen soll, dass es einen bestimmten Text ausgeben soll... ich bitte euch mir zu helfen, und dieses Skript zu beenden.
Danke euch -
diese Zustände stehen bei mir im state
Hier mal ein kurzes Beispiel zum testen (ohne Trigger, den hast Du schon richtig)
Mein Sauger steht gerade auf 8.An Stelle des debug könntest Du Deinen Text auch in einen eigenen Datenpunkt (musst Du erstellen) rein schreiben.
-
da verstehst du etwas falsch - die konvertierung macht nicht aus 3 eine drei - sonder konvertiert eine variable vom typ zahl in eine variable vom typ string - 3 wird zu "3"
funktionieren würde:
- du musst einen datenpunkt (zeichenfolge=string) anlegen
- dann:siehe bild
roter pfeil - vacuum cleaner
gelber pfeil: eigen erstellter datenpunkt als zeichenkette -
So sollte es gehen (nicht komplett getestet)
Der benötigte Datenpunkt wird im Blockly erstellt. -
Schonmal danke für eure Antworten. Ihr habt mir beide verschiedene Wege gezeigt, und ich versuche einmal beide zu realisieren, damit ich verstehe wie diese Blockly funktioniert. Ihr müsst mich entschuldigen, ich bin noch unerfahren, aber ich lerne jeden Tag dazu
@dslraser said in Erstes Blockly komme nicht weiter:
diese Zustände stehen bei mir im state
Wo ist dieses State?
@dslraser said in Erstes Blockly komme nicht weiter:
An Stelle des debug könntest Du Deinen Text auch in einen eigenen Datenpunkt (musst Du erstellen) rein schreiben
Was bedeutet der Befehl "Debug" und was macht er?
@liv-in-sky said in Erstes Blockly komme nicht weiter:
da verstehst du etwas falsch - die konvertierung macht nicht aus 3 eine drei - sonder konvertiert eine variable vom typ zahl in eine variable vom typ string - 3 wird zu "3"
Danke für die Aufklärung...
@liv-in-sky said in Erstes Blockly komme nicht weiter:
funktionieren würde:
du musst einen datenpunkt (zeichenfolge=string) anlegen
Eigener Datenpunkt anlegen, ist okay, verstehe nur nicht was du meinst mit Zeichenfolge = String.
Hier ein Screenshot vom neu angelegten Datenpunkt:
Hier ist das neue Blockly
Irgendetwas ist noch falsch...
-
@Paan83
meine Antwort gesehen ? (wir haben fast Zeitgleich geschrieben )https://forum.iobroker.net/topic/23200/erstes-blockly-komme-nicht-weiter/4
-
debug : schreibt etwas ins log - log-tab im admin - damit man überprüfen kann, was ein programm macht - zur fehlersuche geeignet - alle adapter schreiben etwas ins log - auch nur zur information
string und im deutschen zeichenkette ist das selbe - programmierer sagen meist string und meinen die zeichenkette als typ einer variablen oder eines datenpunktesdein datenpunkt sieht gut aus - das script auch
wenn du bei deinem datenpunkt - siehe dein eigenes bild) unter raw gehst, siehst du was @dslraser (gruß) gemeint hat
-
@dslraser said in Erstes Blockly komme nicht weiter:
meine Antwort gesehen ? (wir haben fast Zeitgleich geschrieben )
Ja jetzt eben gesehen
es ist mir schon ein bisschen peinlich, aber ich finde noch nicht mal den ersten Baustein...!
ich kann nur diesen unter System finden
-
@Paan83
welche Javascript Adapter Version verwendest Du ?
Bei der aktuellen (latest 4.1.13 - über GitHub)) ist der Baustein drinn. Ich weiß nicht wann der dazu kam.
Kannst Du mein Blockly importieren ?
(und wird der Baustein bei Dir angezeigt ? -
@liv-in-sky said in Erstes Blockly komme nicht weiter:
debug : schreibt etwas ins log - log-tab im admin - damit man überprüfen kann, was ein programm macht - zur fehlersuche geeignet - alle adapter schreiben etwas ins log - auch nur zur information
string und im deutschen zeichenkette ist das selbe - programmierer sagen meist string und meinen die zeichenkette als typ einer variablen oder eines datenpunktes
dein datenpunkt sieht gut aus - das script auchDanke für die Info...
Nur damit alles klar ist, im VIS wähle ich dann zum Beispiel das Widget Value List Text und trage bei Object ID den von uns erstellten Datenpunkt ein?
-
@Paan83
jupp, sollte so gehen. -
@dslraser said in Erstes Blockly komme nicht weiter:
welche Javascript Adapter Version verwendest Du ?
Bei der aktuellen (latest 4.1.13 - über GitHub)) ist der Baustein drinn. Ich weiß nicht wann der dazu kam.
Kannst Du mein Blockly importieren ?
(und wird der Baustein bei Dir angezeigt ?ich habe 4.1.12, bin gerade am updaten...
@dslraser said in Erstes Blockly komme nicht weiter:
@Paan83
jupp, sollte so gehen.Ich gehe nochmal alles durch, denn es läuft noch nicht
-
@dslraser
javascript habe ich geupdatet, danach konnte ich dein Blockly einfügen. Dann habe ich nochmal alle Datenpunkte vom Staubsauger neu angewählt. Das Skript läuft, jedoch spuckt er keinen Wert aus.
Im folgenden Screenshot habe ich die ObjektID ausgewählt,
in der Kolonne WERT steht kein Wert... keine Ahnung, ich glaube Blockly und ich werden keine großen Freunde... -
@Paan83
kein Wert ist nur der initiale Wert. Erstmal musst Du Deinen Sauger irgendwas anderes machen lassen, damit sich der Status ändert und getriggert werden kann, dann sollte da auch was anderes stehen. -
Ich weiss warum da kein Wert steht, weil sich seitdem das Skript läuft der Status nicht geändert hat. Ich hab den Staubsauger jetzt einmal gestartet und wieder pausiert, und jetzt steht der Status auf Pause
Aber ich kriege diesen Wert irgendwie nicht in mein Widget, welches Widget muss ich da nehmen? Müsste das nicht egal sein, ob das ein Text Vidget oder ein anderes ist?
-
-
@dslraser said in Erstes Blockly komme nicht weiter:
@Paan83
kein Wert ist nur der initiale Wert. Erstmal musst Du Deinen Sauger irgendwas anderes machen lassen, damit sich der Status ändert und getriggert werden kann, dann sollte da auch was anderes stehen.Schon wieder gleichzeitig geschrieben
Ich probier mal ein bisschen rum, vieleicht krieg ichs ja raus.
Danke für die Hilfe
-
@Paan83 sagte in Erstes Blockly komme nicht weiter:
Aber ich kriege diesen Wert irgendwie nicht in mein Widget, welches Widget muss ich da nehmen?
Hallo, zeig mal den Datenpunkt.
-
@dslraser sagte in Erstes Blockly komme nicht weiter:
Aber vielleicht kann Dir @sigi234 helfen. (der VIS Papst )
Danke, aber ich kenne mich nur ein wenig aus.
-
@sigi234
der Datenpunkt sieht so aus{ "common": { "role": "string", "name": "Staubsaugerstatus", "read": "true", "write": "false", "type": "mixed" }, "native": { "role": "string", "name": "Staubsaugerstatus", "read": "true", "write": "false", "type": "mixed" }, "type": "state", "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1560513485450, "_id": "javascript.0.Eigene_Datenpunkte.Staubsauger.Status", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }