Skip to content

Skripten / Logik

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

16.6k Topics 213.7k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    nik82N
    Habe gerade auf die neue Version umgestellt, jetzt warten wir mal bis März und schauen weiter. Aber das Script ist auf jedenfall echt Tip Top!
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Topics
    79k Posts
    Murphy 0M
    Melde dich, helfe gerne. Ich habe bei sowas auch erst mal enorme Probleme den Überblick über ein fremdes Projekt zu bekommen
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Topics
    13k Posts
    Marc BergM
    Es gibt in der Verson 1.3.0 einen neuen Node: iob-setObject (Stand 10.02.26 noch beta) Mit dem neuen Node kann man ioBroker-Objektdefinitionen (Metadaten) direkt schreiben und ändern. Hauptfunktionen: Instanz-Konfigurationen ändern - z.B. MQTT publish-Pattern, Intervalle, etc. Objekt-Eigenschaften aktualisieren - Namen, Rollen, Einheiten, Min/Max-Werte ändern es gibt zwei Modi: Merge-Modus : Ändert nur die angegebenen Eigenschaften, alle anderen bleiben erhalten Replace-Modus: Überschreibt das komplette Objekt Typischer Workflow: Objekt mit iob-getobject holen Mit Change-Node gewünschte Properties ändern Mit iob-setobject zurückschreiben
  • Überwachen der externen Festplatte an der FritzBox

    11
    0 Votes
    11 Posts
    738 Views
    Maik KrauseM
    @djmarc75 Meinte den Beitrag davor bevor er von dir bearbeitet wurde. Es gibt Email benachrichtigung wo Kommentare drin stehen, aber egal! @Thomas-Braun Ich erkläre es mal anders. Nehmen wir mal an ich mache aller 5 Tage ein Backup von Iobroker über FTP, Die Aufnahmen der Reolink Kamera werden ständig auf der NAS über FTP gespeichert. An Tag 1 ist das speichern des Backup auf NAS erfolgreich, bekomme die Whatsapp mitteilung. An Tag 2 startet die Fritzbox neu. In den Zeitraum des Neustarts und des erkennen der Festplatte schickt die Kamera eine Datei. Da es zu diesen Zeitpunkt keine Festplatte gibt legt sie einen neuen Ordner an mit dem Laufwerksname. Wird nun die Festplatte an der Fritzbox erkannt bekommt sie einen neuen Laufwerksname. Die Kamera kann die Dateien nur so lange speichern bis der Speicher der Fritzbox voll ist. Am 5. Tag versucht Iobroker das Backup auf der NAS zu speichern. Da kein Speicher frei ist bekomm ich die Fehlermeldung und somit fehlen mir 4 Tage Aufnahmen der Kamera.
  • Batterie Speicher Notstrom Synology herunterfahren

    5
    0 Votes
    5 Posts
    466 Views
    haus-automatisierungH
    @codierknecht sagte in Batterie Speicher Notstrom Synology herunterfahren: Es müssen ja auch irgendwie die Login-Daten übermittelt werden. Ganz normale SSH Key Authentication wie bei jedem anderen Linux-System auch.
  • [Gelöst] Request error: Error: socket hang up

    3
    0 Votes
    3 Posts
    537 Views
    T
    @wendy2702 Sorry für die verspätete Reaktion. Danke für Deine Antwort. Der Fehler war zwei Tage später genau so allein wieder weg, wie er vorher aufgetreten ist. Hoffentlich bleibt es so. VG
  • Blockly: Wiedereinschalten verhindern

    5
    1
    0 Votes
    5 Posts
    368 Views
    1Topf1
    @paul53 Alles klar, danke Dir. Dann warte ich mal auf viele sonnenlose Tage und -20°C. :wink:
  • 2 BWM/5 Lichtquellen/Speer-&Zeit-Datenpunkt

    3
    1
    0 Votes
    3 Posts
    267 Views
    paul53P
    @bacado sagte: Folgendes ist gewünscht: Vorschlag: [image: 1674932317518-blockly_temp.jpg] Spoiler <xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="?,h:f}.OAF+=$YSwL[!l">ein</variable> <variable id="fD`y8)BjvBmZkIjCGMx{">hauptlicht</variable> <variable type="timeout" id="timeout">timeout</variable> </variables> <block type="on" id="ym3sQ8a-q/XTHHF1Y88{" x="-312" y="1762"> <field name="OID">0_userdata.0.Zeithilfe.Nachtlicht</field> <field name="CONDITION">false</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="h~hZ3xG^YW`?9c_P[3FF" inline="true"> <mutation name="indirekt"> <arg name="ein"></arg> </mutation> <value name="ARG0"> <block type="logic_boolean" id="f8b`vpNoSSw/Rv[5!v=v"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="on" id="a[0,K7vQk)?uxvvavMSr"> <field name="OID">openknx.0.Obergeschoss.Leuchten_Schalten.BadZentralAus</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="8+$*ao{u4Wj#G!z!oUYk" inline="true"> <mutation name="indirekt"> <arg name="ein"></arg> </mutation> <value name="ARG0"> <block type="logic_boolean" id="-X[uhrtK)o!*)iczOc_l"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="on_ext" id="5NROZ2ogdfnre9OGiQLj"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="Rm,b,s8RBf*[:)V,D#/z"> <field name="oid">openknx.0.Obergeschoss.Leuchten_Schalten.Badezimmer_Bad_Ein_aus</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="gXG7N:PVaT,1DM6@8[nF"> <field name="oid">openknx.0.Obergeschoss.Leuchten_Schalten.Badezimmer_Dusche_Ein_aus</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="(R3,*r;9o4*9ya%(Ox+{"> <field name="VAR" id="fD`y8)BjvBmZkIjCGMx{">hauptlicht</field> <value name="VALUE"> <block type="logic_operation" id="3Ur#1_WV_~e#|tV3e01l" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="get_value" id="9z%H}x.LDxSu%PuME.~)"> <field name="ATTR">val</field> <field name="OID">openknx.0.Obergeschoss.Leuchten_Status.Badezimmer_Bad_Ein_aus</field> </block> </value> <value name="B"> <block type="get_value" id="3(6c/{Brvkxi5obj0#Ya"> <field name="ATTR">val</field> <field name="OID">openknx.0.Obergeschoss.Leuchten_Status.Badezimmer_Dusche_Ein_aus</field> </block> </value> </block> </value> <next> <block type="procedures_callnoreturn" id="A_)6$~d|I+ag?OnlV?f^" inline="true"> <mutation name="indirekt"> <arg name="ein"></arg> </mutation> <value name="ARG0"> <block type="logic_operation" id="#^G(+x[YF,!iimi3TQ6U"> <field name="OP">AND</field> <value name="A"> <block type="variables_get" id="@/ZI%]2+(M]T~J2,p.?Q"> <field name="VAR" id="fD`y8)BjvBmZkIjCGMx{">hauptlicht</field> </block> </value> <value name="B"> <block type="get_value" id="i)|[#gQ!1D/oblvmfs*a"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Zeithilfe.Nachtlicht</field> </block> </value> </block> </value> </block> </next> </block> </statement> <next> <block type="on_ext" id="]tl|pI^Zy14-K9!@Iaok"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="7),$o:5!ozN1WSxlV#Tw"> <field name="oid">zigbee.0.a4c1388f02e12050.occupancy</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="o^|0q5]U`2?^iqQ@jTIy"> <field name="oid">zigbee.0.00124b002508d3eb.occupancy</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="!5:*;E=DoNK[_bk;@Wai"> <value name="IF0"> <block type="logic_operation" id="u9T@:){.loez-HMVOClJ" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="get_value" id="3_.[tN$7uzx6ItGm:CK{"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Zeithilfe.Nachtlicht</field> </block> </value> <value name="B"> <block type="logic_negate" id="lC_L:cY=0A_x.4bi8`.="> <value name="BOOL"> <block type="variables_get" id="^F^K42WT$Z=[;gLiPY7/"> <field name="VAR" id="fD`y8)BjvBmZkIjCGMx{">hauptlicht</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="k#ljA},8~6yz*F((;wmY"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="d8*dsIQob;fuktj47_bF" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="get_value" id=")y]prKI~2rckQq9,R)(."> <field name="ATTR">val</field> <field name="OID">zigbee.0.00124b002508d3eb.occupancy</field> </block> </value> <value name="B"> <block type="get_value" id="Uaf*xd*W.o**nrIyf=Rs"> <field name="ATTR">val</field> <field name="OID">zigbee.0.a4c1388f02e12050.occupancy</field> </block> </value> </block> </value> <statement name="DO0"> <block type="procedures_callnoreturn" id="{mLh[m_L*t9,esucYy)#" inline="true"> <mutation name="indirekt"> <arg name="ein"></arg> </mutation> <value name="ARG0"> <block type="logic_boolean" id="de(/JP/O*Z:v/0_gd`bo"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="timeouts_settimeout" id=".m-G8rv8F(f]?*9LY}$e"> <field name="NAME">timeout</field> <field name="DELAY">70</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="n;yhcacp`4EUDW!:%r(Z" inline="true"> <mutation name="indirekt"> <arg name="ein"></arg> </mutation> <value name="ARG0"> <block type="logic_boolean" id="S*lz`ILNUW-wv0%ToC8U"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="NEip`/m*@B5EXT+aE*!^" x="538" y="1763"> <mutation> <arg name="ein" varid="?,h:f}.OAF+=$YSwL[!l"></arg> </mutation> <field name="NAME">indirekt</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="control" id="nF:y6{O~,-7o,LYlP1hu"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">wled.0.40915144e793.seg.0.on</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="]oV,_3($m,h.dze$3ic`"> <field name="VAR" id="?,h:f}.OAF+=$YSwL[!l">ein</field> </block> </value> <next> <block type="control" id="%X{hE3sFXP6l;q`}%/sR"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">zigbee.0.ec1bbdfffe7f5bc5.state</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="ZD!;u*H/wlYx`A!5;Zv~"> <field name="VAR" id="?,h:f}.OAF+=$YSwL[!l">ein</field> </block> </value> <next> <block type="control" id="Wa_UUjmCDr:yop^[OWVI"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">wled.0.58bf25d755ca.seg.0.on</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="^7W?EQ3YI/ol(ZdbPA2)"> <field name="VAR" id="?,h:f}.OAF+=$YSwL[!l">ein</field> </block> </value> <next> <block type="controls_if" id="SAxk7Uc(dE[TZ$@Q2E?q"> <value name="IF0"> <block type="variables_get" id="SVV]sWc}W9QV4UmhX2S4"> <field name="VAR" id="?,h:f}.OAF+=$YSwL[!l">ein</field> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="dQvjSEVQ+F1XU`BchX*C"> <field name="NAME">timeout</field> <next> <block type="comment" id="Z%a?UBi^j~KNs2nQOY$*"> <field name="COMMENT">Wled Dusche</field> <next> <block type="control" id="{y;-AaPonj%HO.$CochM"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">wled.0.40915144e793.ps</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id=",Z*@~I*HxVF~u9Xo?PJA"> <field name="NUM">1</field> </block> </value> <next> <block type="control" id="OE6CHy@M|(6-0;{BrG`h"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">wled.0.40915144e793.bri</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="C|x4hmzZbewM5%I#53{3"> <field name="NUM">200</field> </block> </value> <next> <block type="comment" id="pd61e/P=*$qJUQi{?Fjc"> <field name="COMMENT">Badezimmerschrank</field> <next> <block type="control" id="VHOa=9Z2%7kMu:DLrwj$"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">zigbee.0.ec1bbdfffe7f5bc5.colortemp</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="g)[f1U]Y8%5Og,pgSocz"> <field name="NUM">2200</field> </block> </value> <next> <block type="control" id="9j^wMSxRhQ9rrt!VX([r"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">zigbee.0.ec1bbdfffe7f5bc5.brightness</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="ngt!{os6yB(.Qy-cN9cK"> <field name="NUM">30</field> </block> </value> <next> <block type="comment" id="b5N:p5UR`u%`]Ea1}Ajv"> <field name="COMMENT">Badewanne</field> <next> <block type="control" id="]UV+%]3KtV|;O[2a=k0P"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">wled.0.58bf25d755ca.ps</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="!KbL$(26t6EDwEHmtizC"> <field name="NUM">1</field> </block> </value> <next> <block type="control" id="v_?KW6ExjY}U8WF.?+aR"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">wled.0.58bf25d755ca.bri</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="oLT(I;!S./N4Wzl)S^I["> <field name="NUM">200</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>
  • [gelöst] Fernsteuern eines RasPis

    blockly javascript
    6
    0 Votes
    6 Posts
    395 Views
    PlasmachefP
    @liv-in-sky wow, klarer Fall von fortgeschrittene Herangehensweise :-) Herzlichen Dank auch dir für den Tipp, da ich aber nicht der Profi auf dem Gebiet bin, werde ich dem Adapter, der schon eingebunden und mit passenden Blocklys versorgt wurde, den Vorzug geben ;-)
  • NSPanel Warnmeldungen

    9
    1
    0 Votes
    9 Posts
    471 Views
    ArmilarA
    @marc-berg ich denke, manchmal sieht man den Wald vor lauter Bäumen nicht... Im TS-Script für das NSPanel gibt es aber auch gar nicht so viel im oberen Bereich zur Konfiguration... Wenn du nicht direkt mit der Programmierung bewandert bist, ist es häufig nicht so leicht - auch wenn die Wiki dahingehend sehr ausführlich ist. :blush:
  • Regex Experte gesucht

    6
    0 Votes
    6 Posts
    458 Views
    F
    @oliverio said in Regex Experte gesucht: const cheerio = require('cheerio'); const axios = require('axios'); const dp_Bad = "0_userdata.0.test1"; const dp_Sauna = "0_userdata.0.test2"; async function getData() { const response = await axios.get('https://aqualaatzium.de/'); const $ = cheerio.load(response.data); let bad = $($(".ampel-sauna div")[1]).text(); let sauna = $($(".ampel-schwimmbad div")[1]).text(); log(bad); log(sauna); setState(dp_Bad,bad); setState(dp_Sauna,sauna); } getData(); Hab ganz herzlichen Dank, läuft perfekt! Den Rest bekomme ich auch alleine hin, es scheiterte an den Web Abfrage. :heart_eyes:
  • Blockly und Funktionen

    Moved
    19
    0 Votes
    19 Posts
    5k Views
    A
    Ich habe eine andere, wie ich glaube, elegante Lösung gefunden, die ohne Pogrammierung in JavaScript auskommt. Ich habe mir fürs Senden nach Signal ein normales Blockly Script (_SendToSignal) geschrieben, was einfach ein paar extra dafür eingerichtete Datenpunkte (0_userdata.0.SendToSignal.SendStat, 0_userdata.0.SendToSignal.Text) überwacht. Wenn irgendein beliebiges Script, auch Blockly, den Datenpunkt SendStat auf true setzt, sendet das Script den String in Text an Signal und setzt SendStat auf false. Das wars. Total einfach im Handling. Sowas kann man mit beliebigen Funktionen erledigen, die in mehreren Scripn gleich sind. Das baue ich mir jetzt noch für die Thermostateinstellung und gut ist.
  • Schleife über Datenpunkte (JSON) inkl. DP ERstellung

    10
    0 Votes
    10 Posts
    585 Views
    nukleuzN
    @codierknecht Ich habe es für meine Zwecke hinbekommen. Danke für die Hilfestellung... Hier das Skript, falls jemand vor dem gleichen oder ähnlichem Problem steht: var json, name2; const idDP = '0_userdata.0.Klima.Test.'; on({id: [].concat(Array.prototype.slice.apply($("state[id=*](functions=thermo)"))), change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; json = (obj.state ? obj.state.val : ""); name2 = [idDP,getAttr(json, 'name'),'.temperatur'].join(''); name2 = name2.replace("(", ""); name2 = name2.replace(")", ""); name2 = name2.replace(/\s/g, '-'); console.log(name2); createState(name2, 0, {name: 'Temperatur', type: 'number', role: 'sensor.humidity', unit: '°C'}); setStateDelayed(name2, getAttr(json, 'tempc'), true, parseInt(((3000) || "").toString(), 10), false); name2 = [idDP,getAttr(json, 'name'),'.humidity'].join(''); name2 = name2.replace("(", ""); name2 = name2.replace(")", ""); name2 = name2.replace(/\s/g, '-'); console.log(name2); createState(name2, 0, {name: 'Luftfeuchtigkeit', type: 'number', role: 'sensor.temperature', unit: '%'}); setStateDelayed(name2, getAttr(json, 'hum'), true, parseInt(((3000) || "").toString(), 10), false); name2 = [idDP,getAttr(json, 'name'),'.rssi'].join(''); name2 = name2.replace("(", ""); name2 = name2.replace(")", ""); name2 = name2.replace(/\s/g, '-'); console.log(name2); createState(name2, 0, {name: 'Empfangsstärke', type: 'number', role: 'value.rssi', unit: 'dBm'}); setStateDelayed(name2, getAttr(json, 'hum'), true, parseInt(((3000) || "").toString(), 10), false); });
  • Esp32 cam Gaszähler

    5
    0 Votes
    5 Posts
    504 Views
    Thomas BraunT
    @dennis-80 Da ist auch lange nichts mehr passiert: sourceanalytix: github: 0.4.14 latest: 0.4.14 for 11 months stable: -.-.-
  • [geloest] Shelly schaltet plötzlich um 10:10 Uhr..!?!

    blockly javascript
    4
    2
    0 Votes
    4 Posts
    559 Views
    oberfraggerO
    @htrecksler Es scheint erfolgreich gewesen zu sein. Danke!
  • 0 Votes
    2 Posts
    360 Views
    arteckA
    @flyor87 das wirst du mit Blockly nicht lösen können. such nach axios
  • Objekte von Typ number in Binding auf Gleichheit in prüfen

    7
    0 Votes
    7 Posts
    409 Views
    F
    @codierknecht Kommando zurück. Mir ist eingefallen, dass ich schonmal ein Problem hatte dasbolded text nach Neustart sich aufgelöst hatte. Ich habe eben Raspi neu gestartet und browser cashe gelöscht. Es sieht so aus das jetzt alles klar ist. Prüfe nochmal und melde mich neu wenn doch nicht. Danke für Deine schnelle Hilfe H
  • Verschiedene Bilder bei unterschiedl. Ladezuständen

    6
    2
    0 Votes
    6 Posts
    335 Views
    paul53P
    @shigi76 sagte: nicht die entsprechenden Werte, sondern nur "true". Du hast es so programmiert mit Konvertierung "nach Logikwert". Außerdem haben eigene Datenpunkte nichts unter "scriptEnabled" zu suchen! Prinzip: [image: 1674394211244-bild_2023-01-22_143009472.png] EDIT: Erstelle einen eigenen Datenpunkt, z.B. "0_userdata.0.PV.Batteriestatus" vom Typ Zahl.
  • [gelöst] Optimale Neigung Solarmodule errechnen

    3
    3
    0 Votes
    3 Posts
    467 Views
    C
    @paul53 oh je, was ein blöder Fehler. Copy paste ist was für fortgeschrittene. Danke Paul! Funktioniert jetzt beides einwandfrei mit plausiblen Ergebnissen.
  • Einzelnen Host in einer Multihostumgebung neu starten

    19
    0 Votes
    19 Posts
    400 Views
    M
    @djmarc75 said in Einzelnen Host in einer Multihostumgebung neu starten: @mafeh69 sagte in Einzelnen Host in einer Multihostumgebung neu starten: einen Vorschlag? Ich nutze für sowas den Adapter "linux-control". Steuere und überwache damit meine mittlerweile 5 Raspberrys. Einfach mal testen. Habe es getestet und es tut genau was ich gesucht habe. Perfekt. Danke!:+1:
  • Gelöst: Status "Connection" der Zigbee Instanzen ermitteln

    javascript
    14
    1
    0 Votes
    14 Posts
    685 Views
    CodierknechtC
    @michihorn sagte in Gelöst: Status "Connection" der Zigbee Instanzen ermitteln: Der Punkt ist folgendes: Hier suchen Leute nach Lösungen. Dabei aber bitte ebenfalls berücksichtigen: Die Leute, die hier helfen, bieten in der Regel "Hilfe zur Selbsthilfe". Ziel ist also nicht unbedingt, ein passendes Script für das aktuelle Problem zu liefern, sondern das Problem zu erklären und zu helfen, das zu verstehen um in der Zukunft allein weiterzukommen.
  • Flurbeleuchtung Blockly Langer Tastendruck

    5
    2
    0 Votes
    5 Posts
    440 Views
    Mono990M
    @paul53 soweit funktioniert es jetzt das das Licht an bleibt aber wie bekomme ich sie wieder in bewegungsmelder funktion? [image: 1674256400443-unbenannt3.jpg]
  • Blockly nur schalten von Abenddämmerung bis Morgendämmerung

    4
    1
    0 Votes
    4 Posts
    361 Views
    paul53P
    @pi_noob15 Dir ist bewusst, dass "zwischen Abend- und Morgendämmerung" Sonnenelevation < -6° bedeutet? Die Ortskoordinaten sind in der Javascript-Instanz richtig eingestellt? In Berlin hat heute die bürgerliche Abenddämmerung (-6°) um 17:10 Uhr geendet.

611

Online

32.7k

Users

82.4k

Topics

1.3m

Posts