Skip to content

Skripten / Logik

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

16.4k Topics 211.6k Posts

NEWS

Skripten / Logik

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 48k
    2k Topics
    48k Posts
    M
    @arnod Ja, die Abrechnung erfolgt durch den Netzbetreiber über den Stromanbieter. Aber ich (bzw. die Steuerung) muss die Zeiten berücksichtigen. Das macht ja nicht Tibber (oder welcher Stromanbieter auch immer). Die Steuerung müsste bei mir z. B. jetzt im Winter immer zwischen 0 und 4 Uhr den Batteriespeicher und ggf. das Auto laden ...
  • Hilfe für Skripterstellung mit Blockly

    6k 78k
    6k Topics
    78k Posts
    paul53P
    @olli_m sagte: mehr Bedingungen machen, dass bei bestimmter Uhrzeit es länger läuft sonst kürzer....und halt auch mehr Tageszeiten Prinzip mit 3 Tageszeiten: [image: 1763206823341-blockly_temp.jpg]
  • Hilfe für Skripterstellung mit Node-RED

    951 13k
    951 Topics
    13k Posts
    P
    @schnipsel71 Häng mal hinter Spots ein Debug-Node mit der Konfig komplettes Nachrichtenobjekt. Dann Alexa bitten, die Helligkeit auf 33 Prozent zu setzen. Die Ausgabe des Debug-Nodes hier posten. Beispiel: Wenn ich sage, Alexa, Gartenlicht 30 Prozent, kommt Folgendes raus: [image: 1761901683637-fb545bab-a095-455b-b86f-ad9759d6bdcb-image.png] Meine Rückmeldung an Alexa sieht so aus: [image: 1761901883296-bfd627c6-ff85-46e1-9475-0786afab94b2-image.png] Spoiler var nodeid = "idDesNodesGartenLicht"; var obj = JSON.parse(msg.payload); var ison=obj.on; var proz=obj.percentage; var hex=obj.rgb; var hell=parseInt(obj.bri*255/100); var color = []; color[0] = parseInt (hex.substring (0, 2), 16); color[1] = parseInt (hex.substring (2, 4), 16); color[2] = parseInt (hex.substring (4, 6), 16); var newMsg={ payload: '' } newMsg.payload= { nodeid: nodeid, on: ison, bri: hell, rgb: color } node.status({text:"on: "+ison+", proz:"+proz}); return newMsg;
  • Eigene icon einfügen

    Moved
    5
    0 Votes
    5 Posts
    3k Views
    J
    Hat keiner eine Idee wie man eigene icons einfügen kann?
  • [gelöst] S0-Impulszähler in iobroker abbilden

    Moved
    3
    0 Votes
    3 Posts
    2k Views
    A
    Habs Mega, mein "erstes Skript" :-D: createState('Strom.Zähler1'); createState('Strom.Zähler2'); createState('Strom.Zähler3'); createState('Strom.Zähler4'); createState('Strom.Zähler5'); createState('Strom.Zähler6'); var request= require('request'); schedule("* * * * *",//jede Minute wiederholen function() { request.post({ url: 'http://10.4.4.66' }, function(error, response, body){ if (body) { var input = body; var array = input.split(","); setState('Strom.Zähler1', array[0]); setState('Strom.Zähler2', array[1]); setState('Strom.Zähler3', array[2]); setState('Strom.Zähler4', array[3]); setState('Strom.Zähler5', array[4]); setState('Strom.Zähler6', array[5]); } }); } )
  • Fenster länger als 10min geöffnet -> Alarm

    Moved
    3
    1
    0 Votes
    3 Posts
    831 Views
    A
    Vielen Dank. Bei mir jetzt so. 4677_blocky.jpg
  • Zusätzliche NPM-Module aktualisieren

    Moved
    1
    0 Votes
    1 Posts
    431 Views
    No one has replied
  • Umwandlung DEC in BIN bzw. Aufteilung in einzelner BITS

    Moved
    4
    1
    0 Votes
    4 Posts
    792 Views
    T
    Hallo Paul, schon mal vielen Dank für deine Antwort und LÖSUNG!!! Ich habe diese heute morgen mal Studiert und ausprobiert. Da meine JS-Kenntnisse sich auf 0,1% definieren lassen(0,1% = ich weiß das es einen JS-Adapter gibt. ENDE :lol: ), war es nicht ganz so einfach wie gedacht :lol: Aber ich denke ich habe es jetzt verstanden und mal versucht es für JS-Anfänger zu beschreiben. Ich hatte bei dem Import noch eine Fehlermeldung die ich jetzt hoffentlich berichtigt habe? function dec2bool(in) { (habe ich in dp geändert) for(var i = 0; i < 8; i++) { var b = !!(in >> i & 1); (habe ich in dp geändert) (Es läuft auf jeden fall bei mir mal) Nur ich denke das der Weg "Rückwärts", also DOs zu schreiben doch nicht so einfach ist wie gedacht. Aber ich werde es demnächst versuchen und mein Ergebnis Posten `const idVar = 'ASIM.Telegram.MODBUS_DI2'; // Datenpunkt-ID Modbus Input var name = 'Modbus.DI_2'; //Legt 8 Datenpunkte im Javascript-Objektordner an var bits = [false,false,false,false,false,false,false,false]; for(var i = 0; i < 8; i++) { var di = 8 - i; createState(name + di, false, {type: 'boolean'}); } function dec2bool(dp) { // function = js befehl / dec2bool = frei vergebener Name für die Funktion / dp = temporäre Variable für die funktion for(var i = 0; i < 8; i++) { var b = !!(dp >> i & 1); if(b != bits[i]) { var di = 8 - i; setState(name + di, b, true); bits[i] = b; } } } on(idVar, function(dp) { // Triggern bei Wertänderung dec2bool(dp.state.val); })`[/i][/i]
  • Ausschalttimer in Blockly

    Moved
    13
    0 Votes
    13 Posts
    3k Views
    R
    ich wollte mich nochmal bedanken und ein feedback geben …. ich habe das jetzt alles mal so nachgebaut, und es funktioniert , vielen dank das mir so schnell und auch so einfach geholfen wurde .... war echt überrascht das die lösung direkt in der ersten antwort kam .... 1000 dank nochmal
  • Switch Anfangsstatus

    Moved
    3
    0 Votes
    3 Posts
    621 Views
    T
    Der Punkt ist aber, er muss nicht angeschaltet werden. In den switch node können sachen reinfließen und alle werden zu dem entsprechenden Status des switches geändert geändert. Also kommt eine 1 an den switch folgt ein "true" wenn er eingeschaltet ist. Kommt die 1 wenn der schalter ausgeschaltet ist folgt ein "false". Diese 1 die ich schicke soll aber nicht den Status des schalters ändern können, ich brauch aber ein anfängliches "true" für den schalter. Ich hoffe das war irgendwie verständlich …
  • Verknüpfen mehrerer Objekte mit Blockly

    Moved
    31
    0 Votes
    31 Posts
    6k Views
    paul53P
    @rantanplan: "Objekt ID" liefert nichts. ` Habe gerade mal mit boolschen Test-Datenpunkten getestet: "Objekt ID" liefert die ID des auslösenden Datenpunktes, das Script funktioniert wie erwartet.
  • Problem beim Skript für Farbwechsel mit Hue

    Moved
    5
    0 Votes
    5 Posts
    1k Views
    J
    hmm also dein Skript hab ich versucht, es regt sich da allerdings rein gar nix ^^ Ich hab mir in der Zeit mal ein zweites Skript mit Blockly gebastelt. Das funktioniert soweit. Allerdings ist die Problematik, dass das Objekt Philips_hue.Innr_r1.b (Der der die blaue Farbe der LED steuert) auch die Helligkeit ändert. Durch einfügen vom Objekt Helligkeit_Wohnzimmer. Springt die Helligkeit zwar wieder auf den Ursprungswert zurück. Jedoch erhöht sich die Helligkeit einmal auf 100% und fällt dann runter, was ein unschönen "Blitz"-Effekt erzeugt. Wer eine Idee wieso Philips_hue.Innr_r1.b die Änderung der Helligkeit (Philips_hue.Innr_r1.bri bzw. Philips_hue.Innr_r1.level) vornimmt? [image: yaqgnxrd.jpg]~~![](</s><URL url=)http://fs1.directupload.net/images/180331/yaqgnxrd.jpg" /> [image: dqpncdvx.jpg]![](</s><URL url=)http://fs1.directupload.net/images/180331/dqpncdvx.jpg" />~~
  • Blockly Exec und Multihost ?

    Moved
    5
    0 Votes
    5 Posts
    742 Views
    HomoranH
    genau! und ein Script mit einem EXEC für den Slave muss dann der Instanz .1 zugewiesen werden. Gruß rainer
  • [gelöst] Ist es möglich einen Ordnerinhalt einzulesen

    Moved
    5
    0 Votes
    5 Posts
    531 Views
    PeoplesP
    Irgendwo gibt es anscheinend eine Verwendung von fs. Obwohl ich nur deinen Codeschippsel in einem eigenen Script verwendet habe. Wo weis ich aber nicht. Doch wenn ich das ganzen auf fs1 ändere funktioniert alles bestens Dank dir
  • Script für Fritzbox incoming calls mit http request

    Moved
    4
    0 Votes
    4 Posts
    1k Views
    D
    Habe gerade gesehen, dass es jetzt geht, dass es erst gefüllt wird, wenn ein Anruf kommt. Aber eine Rückwärtssuche ist das nicht, hat da jemand bereits mal das oertliche angesehen, da gibt es eine api? http://www.dasoertliche.de/?form_name=s … =%callerid
  • Javascript schedule alle 15 min /15 funktioniert nicht

    Moved
    5
    0 Votes
    5 Posts
    3k Views
    SteffS
    Hallo Zippolighter, hattest du vielleicht beim erstellen der Cron-Ausgabe statt "Alle N Minuten" die Eingabebox "Jede ausgewählte Minute" benutzt? Das könnte den Fehler erklären (bin selber auch schon in die Falle getappt) Gruß Steffen
  • Super simples Skript für Steckdosenüberwachung / Waschmaschine

    Moved
    1
    0 Votes
    1 Posts
    575 Views
    No one has replied
  • Backup - iobroker stoppen bei redis-server

    Moved
    6
    0 Votes
    6 Posts
    1k Views
    apollon77A
    Ohje … bin nur mit Handy bewaffnet, daher jetzt nur Stichworte zum selbst googeln. Wenn ich am Wochenende mal Zeit hab tipper ich mal was längeres zusammen: generell „Redis persistent“ Redis kann snapshots machen als file. Automatisch (konfigfile von Redis einstellbar) oder per Redis-cli mit Kommando BGSAVE. Das file kannst du dann sichern. Und falls er mal neu startet lädt er das auch wieder. Sind halt nur snapshots zu Zeitpunkten. Alles was danach sich ändert ist nicht gesichert. adf auch konfig im Redis konfig. Dann schreibt er zusätzlich eine Art logfile und hat damit auch bei einem Neustart immer den aktuellsten stand. Aber ist für sd Karten eher nicht geeignet Das skript was alle States rauszieht und in ein file speichert geht auch. Am Ende ist es die Frage welche Sicherheit du haben willst vor allem wenn du Redis mal Updates und er dabei Neustartet. Im default sind alle Daten weg.
  • Werte aus Ical bzw. google kalendar auslesen

    Moved
    7
    1
    0 Votes
    7 Posts
    1k Views
    juergen2908J
    Hallo, Zur Info: Mit ifttt funktioniert es jetzt War doch einfacher als im ical! Werde jetzt mit blockly weiterarbeiten. Jetzt muss ich noch schauen, wie ich die Minutes und Seconds auf Deutsch umwandle? [image: 1693_ifttt_stracva.png] LG
  • [GELÖST] state auslesen und state setzen

    Moved
    6
    0 Votes
    6 Posts
    2k Views
    T
    Guten Morgen Paul, erstmal, Danke, Danke und nochmal Danke. Der Grund warum ich den Typ "String" gewählt habe ist Copy&Paste… Ich versuche gerade endlich Javascript zu verstehen und zu Lernen und deswegen versuche ich mich an kleinen Scripts um zu verstehen wie sieh funktionieren. Es ist für mich sehr Hilfreich das du mir auch bestimmte Zustände erklärt hast, wie z.B. das der Datenpunkt erst Aktuallisiert wird wenn er geändert wird und mir aber auch aufzeigst wie mann dies erzwingen kann. Vielen Dank, da habe ich wieder etwas gelernt! Schöne Ostern und Gruß, Tom
  • State automatisch erfragen Hue Lichter

    Moved
    16
    0 Votes
    16 Posts
    2k Views
    P
    @mickyboys: Das funktioniert aber nur einmal! Wurde das Licht manuell ausgeschalten und man versucht es im VIS anzuschalten bleibt der Status im VIS auf ON. Da das Skript ja nur triggered sobald der reachable Status von True auf False wechselt. In dem oberen Fall ist reachble aber schon auf False und aendert deshalb nicht mehr den Status im VIS… Noch eine Idee - ich kann doch nicht der einzige sein der seine Hue Lichter versucht sinnvoll zu schalten - Danke, Axel ` Verbiete im VIS einfach das schalten bzw. verstecke das Widget, wenn reachable auf false steht, du kannst dann ja eh nicht einschalten. Alternativ triggere ebenfalls auf "on" bei "false->true" und frage dann reachable ab. Wenn reachable noch auf false steht setze "on" wieder auf false. Ggf. noch mit Verzögerung vor der reachable-Abfrage, um auf Aktualisierung nach Schalten am Wandschalter zu warten. Und nein, so richtig sinnvoll wird es leider nicht werden, wenn du HUE-Lampen zusätzlich mit den Wandschaltern stromlos schaltest. weitere Lösung: Die Wandschalter durch Zigbee Schalter ersetzen und die Auslässe dauerhaft bestromen.
  • Sonnenuntergang als Trigger

    Moved
    4
    0 Votes
    4 Posts
    1k Views
    modmaxM
    Um mehr als JA zu sagen: In Blockly den Auswahlpunkt "trigger" auswählen. Dort finden man das Blockly für "Astro", das per default auf Sonnenuntergang steht, aber direkt im Blockly geändert werden kann.
  • [GELÖST] Datum heute, morgen, übermorgen etc.

    Moved
    10
    0 Votes
    10 Posts
    3k Views
    T
    Hi Buzzy, dann wird uebermorgen aber zum 01.04.2018 und nicht zum 31.03.2018. Gruß, Tom

103

Online

32.4k

Users

81.3k

Topics

1.3m

Posts