Skip to content

Skripten / Logik

Hilfe zu JavaScript, Blockly, TypeScript, Node-RED, Scenes und text2command

16.5k Themen 213.2k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    bluebeanB
    @ArnoD sagte in E3DC Hauskraftwerk steuern: @bluebean Die dürfte es so gar nicht geben :-) Habe es gerade bei mir geprüft und den gleichen Fehler festgestellt. Das muss ich mir mal ansehen, was da schieflaufen kann. Komisch ist das es aktuell wieder richtig ist. Hi, ich hatte gestern und heute mal für den Monat Februar geschaut. Seltsamerweise war Proplanta für 1. - 8. Februar komplett auf Null. Nach Stoppen und Neustarten des Scripts sind nun aber Werte größer Null eingetrudelt. Irgendwie scheint es dort bei der Abfrage nicht rund zu laufen.
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Themen
    79k Beiträge
    mickemupM
    @IceD112 sagte in Datenpunkte spiegel - wie?: Es war meinerseits nur die Idee, alle Datenpunkte die irgendwo zum lesen abgegriffen werden auch zu spiegeln und eben die dafür zu verwenden umd die API Calls zu minimieren. So wie @homoran schreibt dürfte das ja dann funktionieren? Nein! Du generierst die zusätzlichen API "Calls" beim beschreiben der Datenpunkte tado.0.xxx und nicht beim lesen. Du müsstest in deinen Skripten/Blocklys weniger fleissig auf die DPs reagieren/schreiben. Dein angedachtes "Spiegeln" ändert 0 daran, wenn du dann trotzdem die tado.0.xxx Datenpunkte via Adapter schreibst.
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Themen
    13k Beiträge
    S
    welche Palette hast du installiert, damit du den "AND" Baustein hast?
  • SSH-Befehle als Skript in ioBroker ausführen

    Verschoben javascript
    6
    0 Stimmen
    6 Beiträge
    8k Aufrufe
    K
    Danke euch beiden für die Tipps! Das mit der Skriptdatei werde ich ausprobieren. Sorry für die Anfänger-Fragen, bin einfach kaum Linux-Erfahren und da fehlen mir häufig Basics. Unter Windows wäre das ja alles kein Problem 8-)
  • Blockly

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    2k Aufrufe
    BluefoxB
    Es geht schon einiges und zum Spielen reich es aus: [image: 48_2016-07-21_17_40_03-iobroker.admin.png] Ich habe aber das Problem, dass die Projekte nicht immer abgespeichert werden. Also .. nur spielen ;)
  • GetObject liefert falsche Daten (Ziel: Raum zu Gerät finden)

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    864 Aufrufe
    P
    Tatsächlich habe ich jetzt nochmal recherchiert und mir alle enums zu den Objekten anzeigen lassen. Die problematischen Geräte sind noch in Favoriten der CCU enthalten und somit unter enum.favorites aufgeführt. Scheinbar wird dann etwas durcheinander geworfen. Da ich die Favoriten nicht mehr nutze, habe ich sie jetzt gelöscht und alles funktioniert korrekt.
  • Setzen von HM Systemvariablen mit JS

    Verschoben
    27
    0 Stimmen
    27 Beiträge
    6k Aufrufe
    D
    Hallo paul53, danke. Da lag wohl ein kleiner Denkfehler meinerseits vor. Gruß, Thorsten
  • [ERLEDIGT]Hilfe zur Fehlermeldung.

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    1k Aufrufe
    blauholstenB
    @Bluefox: @blauholsten: Hi Pix, Der wird doch neu gestartet oder? ;) Hi, ja die Instanz startet dann neu durch. Ich werde dieses Verhalten bei zukünftigen Skripten beachten, und dann entweder pix seinen Vorschlag nehmen oder für solche Anwendungen eine separate Instanz anlegen. Thanks @all…..
  • Anfängerproblem: Skript zur automatischen Abschaltung nach definierter Zeit

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    866 Aufrufe
    P
    Die Steuerung per Skript ist natürlich die sichere Variante und definitiv vorzuziehen. Soll aber wirklich nur dann automatisch verzögert abgeschaltet werden, wenn per VIS der Einschaltbefehl gegeben wurde, eignet sich auch ein ctrl Bool Widget wie dieses: [image: 261_bildschirmfoto_2016-07-18_um_13.57.40.jpg] Der Screenshot erklärt sich selbst. Auto AUS ist hier die Lösung. Gruß Pix
  • Sunny Webbox direkt auslesen auch einzelne Geräte (GetProcessData + GetPlantOverview)

    Verschoben
    1
    1
    0 Stimmen
    1 Beiträge
    2k Aufrufe
    Niemand hat geantwortet
  • Variablen Setzen und an andere Node übergeben.

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet
  • Daten aus den C.M.I Modul von der Technischen Alternative auslesen.

    Verschoben
    1
    1
    0 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet
  • In ioBroker mit js eine XML Datei auf den Raspberry speichern

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    T
    Super, genau diesen Hinweis brauchte ich. Hab es gerade getestet, funktioniert. Wenn ich das JS fertige habe, werde ich es hier posten, vielleicht kann das ja mal jemand gebrauchen. DANKE. :)
  • [FIXED] Problem mit Javascript und View Change

    Verschoben
    15
    0 Stimmen
    15 Beiträge
    2k Aufrufe
    F
    @blauholsten: @firstfreak: ein Problem ist aber noch, es schaltet jetzt wie es soll, aber ich habe die zeit sogar von 60000 auf 90000 geändert aber es schaltet immer noch ein paar Sekunden zurück. Wo kann da noch der Fehler sein ? on({id: "hm-rpc.0.KEQ0058102.2.PRESS_LONG", change: "any"}, function (obj){ //View wechseln setState("vis.0.control.command", '{"instance": "FFFFFFFF", "data": "Tuerklingel", "command": "changeView"}'); //Nach 60 Sekunden wieder Haupt-View anzeigen setTimeout(function () { setState("vis.0.control.command", '{"instance": "FFFFFFFF", "data": "Allgemein", "command": "changeView"}'); }, 90000); }); ```` ` Weiß nicht ob es hilft, aber leere mal den Browser Cache… ` Das hat funktioniert, vielen Dank
  • IP Türsprechanlage

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    897 Aufrufe
    F
    Hi Michael, schaue dir mal die Android App Mediaplayer24 an. Bei dieser kannst Du mit einem Webaufruf eine bestimmte Datei auswählen, die du zuvor auf dem oder dieTablet(s) gespeichert hast. Dann schreibst Du ein JavaScript mit einem on({id:"Deine Variable mit ID Selector einfügen) usw. und sendest die 3 urls zu Deinen Tablets. Dazu findest Du hier bestimmt Beispiele, habe gearde keines Parat. Den URL Aufruf zeigt dir der MediaPlayer24 meine ich sogar an. Du musst dann aber sicherstellen, dass deine Tablets immer die gleiche IP erhalten. Vorteil: Mit dem ioBroker sayit Adapter kannst Du dann auch gleich schöne individuelle Sprachausgaben realisieren. Vielleicht ist das auch schon für Dich die Lösung, da Deine mp3s in Wirklichkeit sprachsamples sind? Dann würde ich eh zum SayIt raten, da individuelle Ansagen nett sind. So long, Fitti
  • [gelöst]öffnen einer URL zur Steuerung

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    Jeeper.atJ
    Hallo, ich dachte so hätte ich es schon mal probiert. Aber offensichtlich nicht. Jetzt funktioniert es. Vielen dank Günther
  • E-mail Script für Statusmeldungen

    Verschoben
    26
    0 Stimmen
    26 Beiträge
    6k Aufrufe
    P
    Halo Sven, die Antworten untereinander bekommst Du so: var txtPoolpumpe = ""; var txtGaragentor = ""; var txtTerrassentuer = ""; var txtBadRechts = ""; var txtBadLinks = ""; var txtKind2 = ""; var txtKind1 = ""; var txtSchlafen = ""; var txtArbeit = ""; if (getState("hm-rpc.0.KEQxxxxxxx.1.STATE").val) {txtPoolpumpe = "An"} else{txtPoolpumpe = "Aus"} if (getState("hm-rpc.0.MEQxxxxxxx.1.STATE").val) {txtGaragentor = "Auf"} else{txtGaragentor = "Zu"} if (getState("hm-rpc.0.KEQxxxxxxx.1.STATE").val === 0){txtTerrassentuer = "Zu"} if (getState("hm-rpc.0.KEQxxxxxxx.1.STATE").val === 1){txtTerrassentuer = "gekippt"} if (getState("hm-rpc.0.KEQxxxxxxx.1.STATE").val === 2){txtTerrassentuer = "ganz auf"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 0){txtBadRechts = "Zu"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 1){txtBadRechts = "gekippt"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 2){txtBadRechts = "ganz auf"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 0){txtBadLinks = "Zu"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 1){txtBadLinks = "gekippt"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 2){txtBadLinks = "ganz auf"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 0){txtKind2 = "Zu"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 1){txtKind2 = "gekippt"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 2){txtKind2 = "ganz auf"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 0){txtKind1 = "Zu"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 1){txtKind1 = "gekippt"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 2){txtKind1 = "ganz auf"} if (getState("hm-rpc.0.MEQxxxxxxx.1.STATE").val) {txtSchlafen = "Auf"} else{txtSchlafen = "Zu"} if (getState("hm-rpc.0.MEQxxxxxxx.1.STATE").val) {txtArbeit = "Auf"} else{txtArbeit = "Zu"} sendTo("email", { from: "iobroker@edv-team.de", to: strTo, subject: strBetreff, //text: strText //HTML body html: '``` ' + '**Termine:**' + ' ' + getState("ical.0.data.html").val + ' ' + ' ' + '**Temperaturen & Luftfeuchte:**' + ' ' + 'es wird heute voraussichtlich bis zu ' + getState("yr.0.forecast.day0.temperature_max").val +'°C warm.' + ' ' + ' ' + getState("yr.0.forecast.html").val + ' ' + 'Pool ' + (getState("hm-rpc.0.LEQxxxxxxx.1.TEMPERATURE").val).toFixed(1) +'°C' + ' ' + 'Garten ' + (getState("hm-rpc.0.LEQxxxxxxx.1.TEMPERATURE").val).toFixed(1) +'°C | ' + getState("hm-rpc.0.LEQxxxxxxx.1.HUMIDITY").val + '% ' + 'Wohnzimmer ' + (getState("hm-rpc.0.LEQxxxxxxx.1.TEMPERATURE").val).toFixed(1) +'°C | ' + getState("hm-rpc.0.LEQxxxxxxx.1.HUMIDITY").val + '% ' + 'Bad ' + (getState("hm-rpc.0.LEQxxxxxxx.1.TEMPERATURE").val).toFixed(1) +'°C | ' + getState("hm-rpc.0.LEQxxxxxxx.1.HUMIDITY").val + '% ' + 'Kind2 ' + (getState("hm-rpc.0.LEQxxxxxxx.1.TEMPERATURE").val).toFixed(1) +'°C | ' + getState("hm-rpc.0.LEQxxxxxxx.1.HUMIDITY").val + '% ' + 'Kind1 ' + (getState("hm-rpc.0.LEQxxxxxxx.1.TEMPERATURE").val).toFixed(1) +'°C | ' + getState("hm-rpc.0.LEQxxxxxxx.1.HUMIDITY").val + '% ' + 'Schlafen ' + (getState("hm-rpc.0.LEQxxxxxxx.1.TEMPERATURE").val).toFixed(1) +'°C | ' + getState("hm-rpc.0.LEQxxxxxxx.1.HUMIDITY").val + '% ' + 'Arbeit ' + (getState("hm-rpc.0.LEQxxxxxxx.4.ACTUAL_TEMPERATURE").val).toFixed(1) +'°C' + ' ' + ' ' + '**Offen / Laufzeiten:** '+ '' + '' + '' + '' + '' + '' + '' + '' + '' + ' | Poolpumpe | ' + getState("javascript.0.PoolpumpeAn.Tag").val + ' Min | | | ' + getState("javascript.0.PoolpumpeZaehler.Tag").val + ' | | | ' + txtPoolpumpe + ' | | Garagentor | ' + getState("javascript.0.GaragentorOffen.Tag").val + ' Min | | | ' + getState("javascript.0.GaragentorZaehler.Tag").val + ' | | | ' + txtGaragentor + ' | | Terrassentür | ' + getState("javascript.0.WohnzimmerTerrassentuerOffen.Tag").val + ' Min | | | ' + getState("javascript.0.WohnzimmerTerrassentuerZaehler.Tag").val + ' | | | ' + txtTerrassentuer + ' | | Bad Rechts | ' + getState("javascript.0.BadFensterRechtsOffen.Tag").val + ' Min | | | ' + getState("javascript.0.BadFensterRechtsZaehler.Tag").val + ' | | | ' + txtBadRechts + ' | | Bad Links | ' + getState("javascript.0.BadFensterLinksOffen.Tag").val + ' Min | | | ' + getState("javascript.0.BadFensterLinksZaehler.Tag").val + ' | | | ' + txtBadLinks + ' | | Kind2 | '+ getState("javascript.0.Kind2FensterOffen.Tag").val + ' Min | | | ' + getState("javascript.0.Kind2FensterZaehler.Tag").val + ' | | | ' + txtKind2 + ' | | Kind1 | ' + getState("javascript.0.Kind1FensterOffen.Tag").val + ' Min | | | ' + getState("javascript.0.Kind1FensterZaehler.Tag").val + ' | | | ' + txtKind1 + ' | | Schlafen | ' + getState("javascript.0.SchlafenFensterOffen.Tag").val + ' Min | | | ' + getState("javascript.0.SchlafenFensterZaehler.Tag").val + ' | | | ' + txtSchlafen + ' | | Arbeit | ' + getState("javascript.0.ArbeitFensterOffen.Tag").val + ' Min | | | ' + getState("javascript.0.ArbeitFensterZaehler.Tag").val + ' | | | ' + txtArbeit + ' | ' + ' ' + '**Automatik:** ' + '' + ' ```' entweder Leerzeichen setzten: 'Pool ________' glaube das funktioniert nur mit …. in deinem Script ist nur das Ende ohne start``` oder im HTML mit einer Tabelle arbeiten: fängt die Tabelle an fängt eine Zeile an | füllt eine Zelle ... usw. Die If Abfragen ganz oben benutze ich um nicht 0, 1 oder 2 (Für einen Drehgriffkontakt) in der e-Mail angezeigt zu bekommen, sonder: zu, gekippt bzw. ganz auf. Vielleicht hilft dir das ja bei den Benzinpreisen weiter Gruß Phantomio |
  • Gelöst! Logdatenerstellung Script Fehler

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    W
    Hallo paul53, ich habe das Script gelöscht , Logdatenerstellung.Log unter Objekte gelöscht und alles neu eingespielt. Jetzt funktioniert wieder alles wie gewohnt…Danke für deine Hilfe Sebastian
  • [gelöst] Bei HTTP request "exception: Parse Error"

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    F
    Danke für deine Tipps, werde ich heute Abend ausprobieren. Lösung: Es lag nicht am Skript oder an der URL-Codierung, sondern ich hatte bei meinem Rollladenaktor keine HTTP-Standard Response geschickt. curl, wget & co sind da offenbar etwas toleranter als das request Modul von npm. Also hatte ich einfach in der Antwort folgendes vorne eingefügt: "HTTP/1.1 200 OK" "Content-Type: text/html" "Connection: close" ""
  • Dialog mit Script öffnen

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    P
    Hier der Workaround: http://forum.iobroker.net/viewtopic.php … =20#p29739 Pix
  • [gelöst] Problem mit 'request'

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    F
    Hi Thilo, ich glaub ich hab gerade das gleiche Problem wie du damals, kannst du mir/uns verraten, was das Problem auf der Gegenseite war? Danke im Voraus!
  • GetAstroDate() Frage zur praktischen Nutzung…

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    etvE
    @aquapro: @etv: …. damit wir nicht um 4:45 Uhr vor lauter hell im Zimmer im Bett stehen müssen. ` So stehst aber vom geräuch der Rollläden im Bett. :lol: Gruß Tino ` …ja das kann leicht sein - schauen wir mal - vielleicht dreh ich das dann genau deswegen auch wieder ab 8-) Die Balkontür müsste ich via CCU & Co zu machen können - irgendwie mittels Linearmotor vielleicht - dann kurz vorher Tür zu, dann Rollladen runter und Tür wieder auf :lol:
  • Kein zusätzlicher Reiter "Skripte" nach Installation von JS-Adapter

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    D
    Alles klar. Danke.

741

Online

32.6k

Benutzer

82.2k

Themen

1.3m

Beiträge