Skip to content

JavaScript

2.5k Topics 49.7k Posts

Hilfe für Skripterstellung mit JavaScript

NEWS

  • Set state to null?

    Moved
    6
    0 Votes
    6 Posts
    828 Views
    I
    Mit object funktioniert es nicht aber mit dem Typ „mixed“.
  • HTML Tabelle für BackItUp Adapter

    javascript template
    82
    3
    2 Votes
    82 Posts
    13k Views
    sigi234S
    @simatec sagte in HTML Tabelle für BackItUp Adapter: @sigi234 Fehlt der Name nur bei den ccu backups? Ja, denke schon, und die Größe wir auch nicht angezeigt. Habe ich schon berichtet: https://forum.iobroker.net/topic/41674/betatester-für-backitup-2-0-0-gesucht/16?_=1614106078729 ERLEDIGT!!! Habe im Adapter das Passwort für die CCU neu gesetzt.
  • Absolute Feuche Berechnung

    9
    1
    0 Votes
    9 Posts
    1k Views
    P
    @paul53 Alias ist mir hier zu aufwendig. Wann ist mal ein Homematic Temp. Sensor defekt. Hatte noch keinen! Nochmals besten Dank für das Script, paul
  • [gelöst] - Programm lässt JS komplett aussteigen

    10
    0 Votes
    10 Posts
    723 Views
    wendy2702W
    @mwolle Erster Beitrag und dann die 3 Punkte rechts unten im Beitrag.
  • setState als Schrittkette ausführen

    3
    0 Votes
    3 Posts
    341 Views
    SchmakusS
    @ente34 Ich stelle keinen Unterschied fest. Egal ob SetState oder setStateAsync Hab nun folgendes Code und laut Log wird alles nacheinander abgearbeitet so wie ich es gerne hätte. Gibt es vielleicht eine elegantere Lösung? if(this.pathColortemp) { await setState(this.pathTransistion, this.defaultTransition) console.warn('1: Set Transition') } if(this.pathColortemp) { await setState(this.pathColortemp, this.defaultColorTemp) console.warn('2: Set Colortemp') } if(this.pathColor) { await setState(this.pathColor, this.defaultColor) console.warn('3: Set Color') } if(this.pathControl) { await setState(this.pathControl, (this.pathControlType == 'number') ? this.defaultLevel : true) console.warn('4: Set Control') setState(this.pathLastValue, (this.pathControlType == 'number') ? this.defaultLevel : true, true); console.warn('5: Set Light State') setState(this.pathLightState, true, true); console.warn('6: Set Group Light State') if (extLogging) console.log(`${scriptname}: Licht wird eingeschaltet: ${this.name} // Pfad: ${this.pathControl} // Wert: ${(this.pathControlType == 'number') ? this.defaultLevel : true}`); }
  • Skript wird ausgeführt auch wenn deaktiviert.

    2
    0 Votes
    2 Posts
    294 Views
    paul53P
    @dominic-reber sagte: Eines der pausierten wir aber trotzdem ausgeführt. Hab das betreffende skript auch abgeändert aber es sendet mir immer noch push-nachrichten vom alten skript... Nicht das Skript wird weiter ausgeführt, sondern der Sende-Puffer wird weiter abgearbeitet. Hast Du ein Skript in der Gruppe "global". Das würde im Kontext der anderen (aktiven) Skripte ausgeführt.
  • Fenster Script: Liste der offenen Fenster

    56
    0 Votes
    56 Posts
    8k Views
    paul53P
    @nobody28 sagte: Unterschied zwischen Kanal und Datenpunkt Ein Datenpunkt ist ein Objekt vom Typ "state" und hat Zustände/Werte (rechts in Deinem Bild). Ein Kanal ist ein Objekt vom Typ "channel" und hat keine Zustände.
  • setState nur wenn Wert noch nicht gesetzt ist?

    12
    0 Votes
    12 Posts
    1k Views
    ?
    @oliverio said in setState nur wenn Wert noch nicht gesetzt ist?: da die autoren hier nicht reagiert haben, kannst du ja mal bei github einen issue einstellen und die frage nochmal dort stellen https://github.com/ioBroker/ioBroker.zigbee/issues ich habe gesehen, das da ganz fleißig dran gearbeitet wird und fast täglich Änderungen in den adapter eingearbeitet werden. Ja, nur das ich kein Zigbee verwende sondern Hue und HM. Aber werde es nochmal beobachten. Und wenn es nicht nötig ist, nehme ich die vorherige Abfrage, ob schon true oder false gesetzt ist, einfach raus. Lg
  • Go e-charger

    javascript
    5
    2 Votes
    5 Posts
    26k Views
    W
    @homoran Jo, vertippt. Habs editiert. Danke. Gruss, Jürgen
  • Trigger auf Aktualisierung und nicht Änderung

    javascript
    3
    0 Votes
    3 Posts
    340 Views
    J
    @paul53 So einfach kann es sein. Vielen Dank.
  • [Gelöst] Fensterzähler mit Aufzählungen

    19
    0 Votes
    19 Posts
    2k Views
    Masterg 23M
    Mein Problem ist, die richtige Zuweisung damit die Anzeigen korrekt dargestellt werden. Aber wenn ich es mir so anschaue, dann ist es ziemlich komplex. Vielleicht sollte ich erstmal kleinere Brötchen backen. [image: 1613654166116-bildschirmfoto-2021-02-18-um-14.15.51-resized.png] EDIT: Die Fensteranzeige habe ich hinbekommen, jedoch die kleine Symbole unten (Ausrufezeichen oder Haken) noch nicht. Aber ich denke das kriege ich auch hin. Ich stelle es hier auf gelöst. Vielen Dank :) [image: 1613654910319-bildschirmfoto-2021-02-18-um-14.27.05-resized.png]
  • Eigenes Logging in Datenpunkt wird manchmal überschreiben

    javascript
    2
    1
    0 Votes
    2 Posts
    297 Views
    D
    @manfred-outlaw Hallo Manfred, ich habe genau das gleiche Problem. Wenn Trigger in unterschiedlichen Skripten den gleichen Auslöser haben, so wird immer nur eine Meldung im Log erzeugt. Da alle meine Skripte in Blockly sind, suche ich auch eine Lösung die ich in Blockly implementieren kann. Hast du für dich eine Lösung gefunden? Grüße Sascha
  • Javaskript Instanz stürzt bei Skript ab [gelöst]

    Moved
    5
    2
    0 Votes
    5 Posts
    511 Views
    paul53P
    @dj-rico sagte: Kann dann hier wohl geschlossen werden Das musst Du schon selbst machen, indem Du das Thema in der Überschrift des ersten Beitrags als [gelöst] markierst.
  • Vergleich von Objekten in Arrays

    12
    0 Votes
    12 Posts
    1k Views
    SchmakusS
    Vielen Dank euch allen! Viele Wege führen nach Rom. Aber das von @OliverIO gefällt mir sehr gut. Schön kompaktes Coding. @paul53, deine Schleifen sind gut lesbar. Danke.
  • Werte von "Funktionen" abfragen und Datenpunkt setzen

    javascript
    7
    0 Votes
    7 Posts
    764 Views
    J
    @ja-rod sagte in Werte von "Funktionen" abfragen und Datenpunkt setzen: @fastfoot Jetzt wechselt er auf "true". Muss nur schauen ob er das richtige anzeigt. Danke Vielen Dank. Passt alles.
  • SQL Mittelwert

    9
    0 Votes
    9 Posts
    991 Views
    H
    @hanss said in SQL Mittelwert: Weist Du, wie diese Methode heißt? Das nennt sich arithmetisches Mittel.
  • SQL Modul wird nicht erkannt

    6
    0 Votes
    6 Posts
    321 Views
    Marlon GemmerM
    @unclesam Vielen Dank für den Hinweis. Ich hatte damals beim Adapter einfach nicht genau gelesen, weil in der Kurbeschreibung im ioBroker nur steht, dass man damit Datenbanken loggen kann. Mit dem Adapter geht es jetzt. Per Code hat es weiterhin nicht funktioniert. Connect hat auch nichts gebracht. Das "mysql" Modul wurde einfach nicht gefunden. Naja. Jetzt geht alles wie gewünscht. Vielen Dank
  • Tintenstand für Canon TR8550 (als Netzwerkdrucker)

    monitoring javascript
    2
    1 Votes
    2 Posts
    824 Views
    H
    @bazidibavaria Dein Script ist genau das was ich suche. Habe es mal getestet (mit IP meines Druckers). Es werden Datenpunkte angelegt aber keine füllstände eingetragen. Kannst du mir evtl. helfen? Wenn ich die Adresse bei mir im Browser eingebe, bekomme ich diesen Code var g_Administrator = 0; var inktank=[]; inktank[0]=[4,8,0]; inktank[1]=[0,8,0]; inktank[2]=[2,0,0]; inktank[3]=[3,0,0]; var g_help_url = 'http://rs.ciggws.net/rd.cgi?FNC=RUI_HELP&amp;RES=4&amp;DEV=MB5100+series&amp;CNM_SEP=0&amp;DEV=MB5100+series&amp;SFV=1.0&amp;CTV=1.0&amp;LNG=DE&amp;CTN=SDP%2Fsdp-os.html'; var g_eid_url = 'dummy'; var g_ink_url = 'http://rs.ciggws.net/rd.cgi?FNC=RUI_INK&amp;RES=4&amp;DEV=MB5100+series&amp;CNM_SEP=0&amp;DEV=MB5100+series&amp;LNG=DE&amp;HRI=D'; var g_sup_url = 'http://canon.com/support/'; var g_err_url = 'http://rs.ciggws.net/rd.cgi?FNC=RUI_ERR&amp;RES=4&amp;DEV=MB5100+series&amp;CNM_SEP=0&amp;DEV=MB5100+series&amp;LNG=DE&amp;PDR=4&amp;ERR=NO'; var g_pass_url = 'http://rs.ciggws.net/rd.cgi?FNC=RUI_PASS&amp;RES=4&amp;DEV=MB5100+series&amp;CNM_SEP=0&amp;DEV=MB5100+series&amp;LNG=DE&amp;CTN=PW%2Fpw_certifications.html'; var g_cert_url = 'http://rs.ciggws.net/rd.cgi?FNC=RUI_CERT&amp;RES=4&amp;DEV=MB5100+series&amp;CNM_SEP=0&amp;DEV=MB5100+series&amp;LNG=DE&amp;CTN=PW%2Fpw_security.html'; var g_signal_strength = '0'; var g_link_quality = '0'; var g_err_msg_id = 'HTTP_ERR_DISP_IDLE'; var g_bst_st = '0'; var g_battery_lv = 'AC_ON'; var g_prndoc = '0'; var g_firm_up_date=0; var g_micro_ap=0; var g_wifi_direct=0; var g_nfc_mode=0; var g_ipp_over_usb=0; var g_network_mode='NORMAL'; var g_fax_model=1; var g_scanner=1; var g_adf=2; var g_mobile=0; var g_scanto_folder=1; var g_lan_if = 'LAN_IF_WIRED'; var g_password_enable=0; var g_logon_screen = '0'; var g_cartridge_rest = [-1,-1]; var g_ink_empty = '-1'; wenn ich nur die IP eingebe erscheint diese Seite [image: 1613396010833-druckerindex.jpg] mit diesem Quellcode <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Expires" content="0"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"> <meta http-equiv="X-UA-Compatible" content="IE=edge" > <link rel="stylesheet" type="text/css" href="rui/CSS/common.css?ver=1.070-1790-101"> <link rel="stylesheet" type="text/css" href="rui/CSS/other.css?ver=1.070-1790-101"> <script type="text/javascript" src="http://me.kis.v2.scr.kaspersky-labs.com/FD126C42-EBFA-4E12-B309-BB3FDD723AC1/main.js?attr=8thD_SsniDpSpjKd1_86rnzkWVo2AjBAnCXQRG4MogbfGPVTJLGgz9CupPrHdDMm" charset="UTF-8"></script><style type="text/css"></style> <title></title> <script src="LANG/messID.js?ver=1.070-1790-101" type="text/javascript" charset="UTF-8"></script> <script src="JS_MDL/model.js?ver=1.070-1790-101" type="text/javascript" charset="UTF-8"></script> <script src="rui/JS/utility.js?ver=1.070-1790-101" type="text/javascript" charset="UTF-8"></script> <script src="rui/JS_TBL/table_error.js?ver=1.070-1790-101" type="text/javascript" charset="UTF-8"></script> <script src="rui/JS/event.js?ver=1.070-1790-101" type="text/javascript" charset="UTF-8"></script> <script src="rui/JS/framework.js?ver=1.070-1790-101" type="text/javascript" charset="UTF-8"></script> <script src="rui/JS/view.js?ver=1.070-1790-101" type="text/javascript" charset="UTF-8"></script> <script src="rui/JS/top.js?ver=1.070-1790-101" type="text/javascript" charset="UTF-8"></script> <script language="javascript"></script> </head> <body onSelectStart="return false;"> <div class="UserView Lcd_large" id="userviewArea"> <div class="ReturnAppBar" id="returnAppBar"> <a class="LinkArea" href="#" id="returnApp"> <div class="Text" id="returnAppText">12345</div> </a> </div> <div class="HorizontalContainer" id="TopMenu"> <div class="MenuPage"> <div class="ContentRelative"> <div class="dummy" id="replaceTop"></div> </div> </div> <div class="ContentPage"> <div class="h10Container" id="h10Container" style="width:300%"> <div class="Page_for_h10"> <div class="ContentRelative" id="stack1"><div class="dummy" id="replaceDebug1"></div></div> </div> <div class="Page_for_h10"> <div class="ContentRelative" id="stack2"><div class="dummy" id="replaceDebug2"></div></div> </div> <div class="Page_for_h10"> <div class="ContentRelative" id="stack3"><div class="dummy" id="replaceDebug3"></div></div> </div> </div> </div> </div> </div> <div class="Sample" id="SampleArea"> <div class="PRINF" id="samplePRINF"> <div class="Title"> <div class="Text">12345</div> <div class="EventTarget" id="EVT_PRINF_BBTN"> <div class="BwdBtn"> <div class="Text">12345</div> </div> </div> </div> <div class="TitleEnd"></div> <div class="EventTarget" id="EVT_PRINF_UPDW"> <div class="ContentArea" id="prinf_content_class"> <div class="ErrMsgArea" id="PrintInfo_MsgArea"> <div class="Text" id="PrintInfo_MsgText">12345</div> <div class="LinkButtonArea Err"> <div class="LinkButton" id="lnkbtn_Detail">12345</div> </div> </div> <div class="InkLevel"> <div class="Text">12345</div> </div> <div class="InkInfo"> <div class="InkAreaLine" id="ink_area_line1"> <div class="InkPattern" id="inktank0"> <div class="InkMess"></div> <div class="InkArea"><div class="InkBar"></div></div> </div> <div class="InkPattern" id="inktank1"> <div class="InkMess"></div> <div class="InkArea"><div class="InkBar"></div></div> </div> <div class="InkPattern" id="inktank2"> <div class="InkMess"></div> <div class="InkArea"><div class="InkBar"></div></div> </div> <div class="InkPattern" id="inktank3"> <div class="InkMess"></div> <div class="InkArea"><div class="InkBar"></div></div> </div> <div class="InkPattern" id="inktank4"> <div class="InkMess"></div> <div class="InkArea"><div class="InkBar"></div></div> </div> <div class="InkPattern" id="inktank5"> <div class="InkMess"></div> <div class="InkArea"><div class="InkBar"></div></div> </div> </div> <div class="InkAreaLine" id="ink_area_line2"> <div class="InkPattern" id="inktank6"> <div class="InkMess"></div> <div class="InkArea"><div class="InkBar"></div></div> </div> <div class="InkPattern" id="inktank7"> <div class="InkMess"></div> <div class="InkArea"><div class="InkBar"></div></div> </div> <div class="InkPattern" id="inktank8"> <div class="InkMess"></div> <div class="InkArea"><div class="InkBar"></div></div> </div> <div class="InkPattern" id="inktank9"> <div class="InkMess"></div> <div class="InkArea"><div class="InkBar"></div></div> </div> <div class="InkPattern" id="inktank10"> <div class="InkMess"></div> <div class="InkArea"><div class="InkBar"></div></div> </div> <div class="InkPattern" id="inktank11"> <div class="InkMess"></div> <div class="InkArea"><div class="InkBar"></div></div> </div> </div> </div> <div class="LinkButtonArea" id="InkLink"> <a class="LinkButton" id="lnkbtn_InkModel" target="_blank">12345</a><a class="LinkButton" id="lnkbtn_BuyInk" target="_blank">12345</a> </div> <div class="InfoArea" id="infoArea"> <div class="InfoItem" id="InfoItem00"> <div class="Text">12345</div> <div class="Level"> <div class="Text" id="ItemText00">12345</div> </div> <div class="InfoGraph"> <div class="GraphArea" id="gauge00"><div class="Graph" id="indi00"></div></div> </div> </div> <div class="InfoItem" id="InfoItem01"> <div class="Text">12345</div> <div class="Level"> <div class="Text" id="ItemText01">12345</div> </div> <div class="InfoGraph"> <div class="GraphArea" id="gauge01"><div class="Graph" id="indi01"></div></div> </div> </div> </div> <div class="BatteryLevelArea" id="batteryLevelArea"> <div class="BatteryLevelPattern" id="battery"> <div class="Text" id="ErrMes">12345</div> <div class="BatteryGraphArea" id="batteryGraph"> <div class="BatteryGraph"><div class="Graph" id="Low"></div></div> </div> </div> </div> <div class="MaintenanceCartridgeArea" id="maintenanceCartridgeArea"> <div class="CartridgeLevelPattern" id="cartridge"> <div class="Text" id="cartridgeMes">12345</div> <div class="CartridgeMess" id="cartridgeMess"></div> <div class="InfoGraph"> <div class="CartridgeGraph"><div class="InkBar" id="cartridgeGraph"></div></div> </div> </div> </div> <div class="ModeBtnArea"><a class="FtrButton" id="modeSelectForSmall"><div class="Text">12345</div></a></div> <div class="LinkButtonArea"><a class="LinkButton" id="webManualForSmall" target="_blank" ><div class="Text">12345</div></a></div> <div class="CertBtnArea"><a class="CertLinkButton" id="certBtn" ><div class="Text">12345</div></a></div> </div> </div> <div id="pageendPRINF"></div> </div> <div class="DTL" id="sampleDTL"> <div class="Title"> <div class="Text">12345</div> <div class="EventTarget" id="EVT_DTL_BBTN"> <div class="BwdBtn"> <div class="Text">12345</div> </div> </div> </div> <div class="TitleEnd"></div> <div class="ContentArea" id="EVT_DTL_UPDW"> <div class="ErrTitle" id="ErrTitle"> <div class="Text" id ="ErrTitleText">12345</div> </div> <div class="ErrMsg"> <div class="Text" id ="ErrMsgText">12345</div> </div> <div class="LinkButtonArea"> <a class="LinkButton" id="lnkbtn_ErrInf" target="_blank" ></a> <a class="LinkButton" id="lnkbtn_Support" target="_blank" ></a> </div> </div> <div id="pageendDTL"></div> </div> <div class="MODE" id="sampleMODE"> <div class="Title"> <div class="Text">12345</div> <div class="EventTarget" id="EVT_MODE_BBTN"> <div class="BwdBtn"> <div class="Text">12345</div> </div> </div> </div> <div class="TitleEnd"></div> <div class="EventTarget" id="EVT_MODE_UPDW"> <div class="ContentArea"> <div class="MODE_Item" id="MODE_Item"> <div class="Text" id="MODE_ItemText">12345</div> </div> <div class="ModeMessArea"> <div class="Text" id="ModeMessArea">12345</div> </div> <div class="RadioDetailButton" id="MODE_RadioButton"> <div class="ModeSelect" id="ModeSet00"> <input type="radio" name="ModeSelect" id="ModeRadio00" checked="true"> <label for="ModeRadio00" class="Text">12345</label> </div> <div class="ModeSelect" id="ModeSet01"> <input type="radio" name="ModeSelect" id="ModeRadio01"> <label for="ModeRadio01" class="Text">12345</label> </div> </div> <div class="ModeBtnArea"> <a class="FtrButton" id="logonBtn" > <div class="Text">12345</div> </a> </div> <div class="LinkButtonArea"> <a class="LinkButton" id="TopWebManual" target="_blank" > <div class="Text">12345</div> </a> </div> <div class="CertBtnArea"> <a class="CertLinkButton" id="certBtn" > <div class="Text">12345</div> </a> </div> <div id="pageendMODE"></div> </div> </div> </div> <div class="MES_LINK" id="sampleMES_LINK"> <div class="Title"> <div class="Text">12345</div> <div class="EventTarget" id="EVT_MES_LINK_BBTN"> <div class="BwdBtn"> <div class="Text">12345</div> </div> </div> </div> <div class="TitleEnd"></div> <div class="EventTarget" id="EVT_MES_LINK_UPDW"> <div class="ContentArea"> <div class="MesItem"> <div class="Text" id="MesItemText">12345</div> </div> </div> <div class="SelectArea"> <div class="EventTarget"> <div class="SelectButton" id="EVT_MES_LINK_BTN"> <div class="Text">12345</div> </div> <a class="CertLinkButton" id="EVT_MES_LINK_BTN_LINK" href="javascript:void(0);" target="_blank" style="display:none;"> <div class="Text">12345</div> </a> </div> </div> <div id="pageendMES_LINK"></div> </div> <div class="Footer" id="FooterBar"> <div class="EventTarget"> <div class="FtrButton" id="EVT_MES_LINK_FTRBTN"> <div class="Text">12345</div> </div> </div> </div> </div> </div> <div class="ScreenGarage" id="GarageArea"> </div> <input type="hidden" id="EID" value="http://rs.ciggws.net/rd.cgi?FNC=RUI_EID2&amp;RES=4&amp;DEV=MB5100+series&amp;CNM_SEP=0&amp;mdl=MB5100+series&amp;low=0&amp;out=0&amp;ac=0&amp;srcmdl=6&amp;resid=Other&amp;hriid=D"> </body> </html> Die Tintenstände auf der Seite sind die aktuellen, werden aber von dem Script leider nicht eingetragen. Kannst du mir evtl. helfen bzw denkanstöße geben woran das liegt? Gruß HappyUser20
  • Anfänger Fragen - Log wird geflutet und Fehlererkennung

    11
    0 Votes
    11 Posts
    1k Views
    paul53P
    @olis sagte: Einziger "Nachteil", es wird auch ausgeführt, wenn alle 60 Sekunden der Adapter neue Werte einliest - ohne Änderung. on("i2c.0.0x76.temperature", function(dp) { triggert nur, wenn sich der Temperaturwert ändert.
  • 2 Punkt Regler

    javascript heating
    6
    0 Votes
    6 Posts
    714 Views
    M
    @paul53 said in 2 Punkt Regler: on(hsid, function(dp) { hs = dp.state.val; if(hs == 1 || hs == 3) hys(); else setState(yid, false); }); DANKE !! So hatte ich es fast in der Function nur das ich die 2 Bedingung nicht in Klammern gesetzt habe, was mir aber jetzt logisch erscheint. Das ich denn unten aber nochmal abfeuern muss, da bin ich nicht drauf gekommen. Aber auch klar. Danke schön.

330

Online

33.0k

Users

83.4k

Topics

1.3m

Posts