Skip to content

NEWS

  • Gelöst: Gerät per Rest-Call steuern

    Einbindung von Geräten
    11
    0 Stimmen
    11 Beiträge
    58 Aufrufe
    H
    @Codierknecht sagte in Gelöst: Gerät per Rest-Call steuern: Vielleicht kann man das in iQontrol auch so einstellen, dass iQontrol das ACK Flag setzt. Dein ursprünglicher Vorschlag gefällt mir besser, insbesondere mit @paul53 s Vorschlag. Dann verhält sich das Skript wie ein "richtiger" Adapter.
  • Backitup geht nicht mehr seit dem 1.1.2026

    ioBroker Allgemein
    11
    3
    0 Stimmen
    11 Beiträge
    89 Aufrufe
    Thomas BraunT
    @el-hagge Am Rande: Nodejs-Updates macht man bei ioBroker per iob nodejs-update Setzt allerdings eine lebendige Basis voraus. Wie halt auch alle anderen Dinge. Und bitte keine Screenshots aus dem Terminal. Text in CodeTags </> eingebettet hier rein.
  • Shutterscontrol Frage

    ioBroker Allgemein
    10
    1
    0 Stimmen
    10 Beiträge
    106 Aufrufe
    K
    alle stehen auf Automatik ( Schlafbereich,Wohnbereich und Kinderbereich)
  • iob diag Meldung nach Trixie update (gelöst)

    ioBroker Allgemein
    10
    0 Stimmen
    10 Beiträge
    56 Aufrufe
    Thomas BraunT
    @Boronsbruder Ist mir sowas von egal... Du machst einfach KEINE ROOT-SHELL AUF!!!
  • [Erledigt]maxObjects erhöhen, aber wie?

    ioBroker Allgemein
    10
    1
    0 Stimmen
    10 Beiträge
    103 Aufrufe
    mcm1957M
    Ich kann dir in deinem konkreten Fall auch nicht sagen woher die Objekte stammen. Wenn es dir auf Grund der Namen und Inhalte nicht klar ist frag gezielt beim Adapter nach. So wie ich die Releasenotes des Tesla gelesen habe dürfte der Adapter auf Grund eine Fehlers beim Tokenrefresh immer wieder neue Objekte angelegt haben. Genaueres kann dir aber nur der Dev bzw Maintainer des jeweiligen Adapters sagen. Generell sollte bei einer so großen Anzahl von Objekten beim Adapterersteller nachgefragt werden wozu diese dienen. Nur in wenigen Fällen machen solche Mengen an Objekten auch einen Sinn. Das kann aber nur im Einzelfall abgeklärt werden. Wenn du dir die States nie ansiehst und auch keine Idee hast wie du sie in einer Vis verwenden kannst, dann ist das eher ein Indiz dafür dass diese unnötig sind :-)
  • Günstige Heizungungssteuerung.

    Hardware
    10
    0 Stimmen
    10 Beiträge
    164 Aufrufe
    P
    Ich nutze hier Homematic IP. Das kostet bissel was. Erstmal die wichtigen Räume, dann vielleicht die Geräte mit Beleuchtung. Die einfachen Thermostatköpfe mit den Knöpfen für + - sind nicht beleuchtet und dementsprechend im Dunklen schwer zu bedienen, wenn man keine zusätzlichen Raumthermostate nimmt. Da gilt das gleiche: Der günstige ist nicht beleuchtet. Die Fensterkontakte sprechen direkt mit den Thermostatköpfen. Die Steckdosen dienen als Repeater bei schlechtem Empfang. Edit: Typo
  • JavaScript/Blockly: Performance und Auslastung anzeigen

    Einsteigerfragen
    10
    0 Stimmen
    10 Beiträge
    182 Aufrufe
    P
    Bei mir läuft eine Javascript Instanz. Aktuell sind 66 Skripte aktiv.
  • PV Energie Aufteilen Haus, Hausbatterie, Auto

    Verschoben Off Topic
    9
    0 Stimmen
    9 Beiträge
    100 Aufrufe
    fuzzy1955F
    @Stefan-Falt sagte in PV Energie Aufteilen Haus, Hausbatterie, Auto: Nach welcher Logik Teilt ihr die Energie auf Hallo Thomas, meine Aufteilungslogik ist wie folgt. Ich habe aber eine Inselanlage mit zeitweiligem Netzbezug am Generatoreingang. [image: 1767611638638-schema-parallelschaltung-deye-sun10k.jpg] Vielleicht kannst du trotzdem etwas davon brauchen (vereinfachte Version): if (BoilerTemperatur < BoilerTemperaturSoll && (HausakkuSOC > 50 && Boilerregler > 0) || GenLeistung > 0 ) { strPrioritaetstext = 'Boilerstab heizt mit ' + HausakkuSOC + '%'; if (HausakkuLeistung < 0 || GenLeistung > 0) { strPrioritaetstext += ' | Hausakku lädt ' + HausakkuLeistung + ' W'; } if (LadungOffen > 0 && GenLeistung > 0) { strPrioritaetstext += " | Wallbox lädt " + StromIst + " A"; } } else if (BoilerTemperatur < 60 && HausakkuSOC > 50 && JetztDatum >= LetztesDatum) { strPrioritaetstext = 'Boiler heizt 60 °C auf'; } else if (HausakkuSOC < HausakkuMaxSOC) { if (HausakkuLeistung < 0) { strPrioritaetstext = 'Hausakku lädt ' + HausakkuLeistung + ' W'; } else { strPrioritaetstext = 'Hausakku (' + HausakkuSOC + '%) entlädt ' + HausakkuLeistung + ' W'; } if ((HausakkuSOC > BatterieMinSOC) || GenLeistung > 0) { if (getState(idWallboxPause).val == false){ if (LeistungWallboxIst > 0) { strPrioritaetstext += ' | Wallbox lädt ' + Math.round(LeistungWallboxIst) + ' kW'; } } else { strPrioritaetstext += ' | Wallbox startet ...'; } } } else if (LadungOffen > 0 && HausakkuSOC > BatterieMinSOC) { strPrioritaetstext = "Wallbox lädt " + StromIst + " A"; if (PVErzeugung > 0) { strPrioritaetstext += " aus der PV (" + PVErzeugung + " W)"; } if (HausakkuSOC >= HausakkuMaxSOC) { strPrioritaetstext += " aus dem Hausakku (" + HausakkuLeistung * -1 + " W)"; } } else if (PVErzeugung > 100) { strPrioritaetstext = "PV-Module versorgen das Haus mit " + Math.round(StromleistungHaus) + " W"; } else { strPrioritaetstext = "Hausakku versorgt das Haus mit " + Math.round(StromleistungHaus) + " W"; } //PV-Überkapazität verheizen if (GenLeistung == 0 && PVUeberschuss > 500 && HausakkuSOC >= 70) { strPrioritaetstext += " | IR-Heizung OG läuft mit " + Math.round(IRHeizungOGLeistung) + " W"; } Gruß, Fuzzy
  • Zigbee Wechsel Sonoff_Zigbee_3.0_USB_Plus auf Netzwerk-Stick

    ioBroker Allgemein
    9
    0 Stimmen
    9 Beiträge
    88 Aufrufe
    R
    @Asgothian sagte in Zigbee Wechsel Sonoff_Zigbee_3.0_USB_Plus auf Netzwerk-Stick: ich persönlich mag die cod.m koordinatoren Na dann hab ich mir den mal bestellt. Danke für die Hilfe.
  • Energiefluss Erweitert Codereste entfernen?

    Visualisierung
    7
    1
    0 Stimmen
    7 Beiträge
    70 Aufrufe
    D
    @Homoran sagte in Energiefluss Erweitert Codereste entfernen?: kannst du denn "neu verbinden"? Zu anderen Elementen ja. Zum Element 25 nicht. Es kommt die Meldung das bereits eine Verbindung existiert.
  • Cronjob-Instanzen erkennen

    Blockly
    7
    1
    0 Stimmen
    7 Beiträge
    57 Aufrufe
    G
    Funzt - vielen Dank!
  • Probleme mit 2 Bindings in Vis 2

    Visualisierung
    6
    2
    0 Stimmen
    6 Beiträge
    55 Aufrufe
    OliverIOO
    @John-Doe sagte in Probleme mit 2 Bindings in Vis 2: <pre> {wert1:snmp.0.USV.upsOutPower;wert1.toFixed(0)} {wert1:snmp.0.USV.upsOutPower;parseInt(wert1.toFixed(0))+100} {wert2:0_userdata.0.HS.Stromverbrauch_Wärmepumpe;wert2.toFixed(0)} {wert1:snmp.0.USV.upsOutPower; wert2:0_userdata.0.HS.Stromverbrauch_Wärmepumpe;wert1} {wert1:snmp.0.USV.upsOutPower; wert2:0_userdata.0.HS.Stromverbrauch_Wärmepumpe;wert2} </pre> ok, nochmal korrektur. Umlaute gehen wohl doch, machen aber gelegentlich mit dem regex probleme. hier wohl aber nicht. Das Problem ist, das egal wie der Datentyp des Datenpunkts definiert ist, der Wert als String ankommt. Daher muss der Inhalt als erstes immer umgewandelt werden, da toFixed für String in javascript nicht geht. Der geht nur für Datentyp number Hier am besten mit parseInt oder parseFloat, je nachdem was da für Inhalte gewünscht werden. Hier mal ein Beispiel das funktioniert Beide Datenpunkte habe ich mit number angelegt [image: 1767623844244-08cfee45-18ba-49e0-94c5-9bbd09882acd-image.png] <pre> {wert1:0_userdata.0.HS.upsOutPower;parseInt(wert1)} {wert1:0_userdata.0.HS.upsOutPower;parseInt(wert1)+100} {wert2:0_userdata.0.HS.Stromverbrauch_Wärmepumpe;parseInt(wert2)} {wert2:0_userdata.0.HS.Stromverbrauch_Wärmepumpe;parseInt(wert2)} {wert1:0_userdata.0.HS.upsOutPower; wert2:0_userdata.0.HS.Stromverbrauch_Wärmepumpe;parseInt(wert1)+parseInt(wert2)} </pre> Ergebnis sieht dann so aus [image: 1767623876280-f9ac1dc0-2b85-46d8-b208-3b998bff8eae-image.png]
  • Minuten in Stunden umwandeln

    Skripten / Logik blockly
    6
    1
    0 Stimmen
    6 Beiträge
    80 Aufrufe
    L
    @haus-automatisierung sagte in Minuten in Stunden umwandeln: @ltsalvatore sagte in Minuten in Stunden umwandeln: dann hatte ich aber das Gefühl, dass es mir nicht so wirklich weiterhilft. Du implementierst gerade exakt die gleichen Funktionen des Bausteins manuell. Dein Script könnte man aber noch optimieren. Du zählst ja manuell die Minuten hoch. Warum nicht einfach den Startzeitpunkt einmalig merken und dann die Differenz zum aktuellen Zeitpunkt berechnen? guter punkt 🤔
  • [Gelöst] Reload Button für entfernten Monitor

    Visualisierung
    6
    0 Stimmen
    6 Beiträge
    86 Aufrufe
    D
    Ich habe es jetzt so gelöst. Gruß,[image: 1767452654170-screenshot-2026-01-03-154611.png]
  • Enhancements to Script Messaging System (Blockly)

    Blockly
    5
    0 Stimmen
    5 Beiträge
    55 Aufrufe
    d34df4c3D
    I have identified two interesting pieces of code. For the missing result variable in "Event: Received Message": https://github.com/ioBroker/ioBroker.javascript/blob/dba68e9eb91f79035f62a2df584fd1f7474462fe/admin/google-blockly/own/blocks_trigger.js#L1241-L1368 And for the missing result variable in "Send Message" block: https://github.com/ioBroker/ioBroker.javascript/blob/dba68e9eb91f79035f62a2df584fd1f7474462fe/admin/google-blockly/own/blocks_sendto.js#L365-L549 Now, I have to better understand Blockly framework and see how the code can be adapted.
  • Windmesser integrieren - 433MHz?

    ioBroker Allgemein
    5
    0 Stimmen
    5 Beiträge
    47 Aufrufe
    I
    Danke, werde ich mir merken!
  • Vorabfragen einen Um-Einsteigers

    Installation
    5
    0 Stimmen
    5 Beiträge
    100 Aufrufe
    HomoranH
    @Holsteiner sagte in Vorabfragen einen Um-Einsteigers: stoße ich auf mehr Fragezeichen als Verständnis: ich möchte hier erstmal nur auf einzelne Punkte eingehen, weil der Rest von den jeweiligen anderen Kombinationen abhängig wird. @Holsteiner sagte in Vorabfragen einen Um-Einsteigers: Warum soll ein Anfänger seine vorhandene Installation ohne Rückfrage / Warnung plattmachen weil ein Anfänger noch gar nichts hat, sondern sich gerade erst mit der Materie anfängt zu beschäftigen. Ansonsten wäre er kein Anfänger. @Holsteiner sagte in Vorabfragen einen Um-Einsteigers: Warum NUR die Lite-Version? weil das -abgesehen von den Punkten die @thomas-braun genannt hat- dann zu einem halbwegs standardisierten System führt, was ungemein hilfreich ist, wenn man Einsteigerhilfe braucht. @Holsteiner sagte in Vorabfragen einen Um-Einsteigers: Denn ich habe schon seit ca. 2 Jahren das OS auf SSD. Aber ein Einsteiger nicht! der wird nicht zum Testen direkt groß einkaufen gehen. @Holsteiner sagte in Vorabfragen einen Um-Einsteigers: Warum Docker, Virtualisierung und Windows? Das System ioBroker soll doch auf einem Raspi laufen, wozu ist das der ganze andere Kram? Wer sagt das? ioBroker kann auf allen möglichen Plattformen installiert werden
  • [solved] Objekte im Array dynamisch vom Skript aktualisieren

    JavaScript
    5
    2
    0 Stimmen
    5 Beiträge
    75 Aufrufe
    W
    @asgothian Habe es im ersten Schritt so gelöst, dass ich das Array neu einlesen lasse und statisch Werte erstmal im Skript lasse. Dafür habe ich ein Array erstellt für die key-Worte, welche in der gleichen Reihenfolge sein müssen: const room=['DG','SZ','AZ','Zimmer','Kueche','Essen','WZli','WZre']; const rollos= [ { posDP:'alias.0.DG_Zimmer.Fenster.RolloPositionSoll', wait1_ms:60*1000, wait2_ms:60*1000 }, { posDP:'alias.0.OG_SZ.Fenster.RolloPositionSoll', wait1_ms:40*1000, wait2_ms:40*1000 }, ... Mit der Funktion function readArray(key,room,storage){ const robj =storage[key]; robj.enabled1=getState(`0_userdata.0.Rollo.AutoTiming1_`+room).val; robj.enabled2=getState(`0_userdata.0.Rollo.AutoTiming2_`+room).val; robj.position1=getState(`0_userdata.0.Rollo.PositionHoch_`+room).val; robj.position2=getState(`0_userdata.0.Rollo.PositionRunter_`+room).val; return robj; } erweitere ich dynamisch das Array mit aktuellen Werten. Mit den SetTimer Funktionen function setTimer1(){ var h=getState(idTime1_h).val; var min=getState(idTime1_min).val; clearSchedule(timer1); log('neuer Timer1 gesetzt'); timer1 = schedule(min + ' ' + h + ' * * *', function() { if (getState(idAutoModeEnabled).val) { Object.keys(room).forEach (id => { const rollo = readArray(id,room[id],rollos); var timeout1=null; timeout1=setTimeout(function() { if(rollo.enabled1) { // für jedes Rollo bestimmbar setState(rollo.posDP,rollo.position1); //log('Rollo '+ rollo.posDP + ' auf '+rollo.position1 + ' bei Zeit ' + idTime1+' gefahren.'); } clearTimeout(timeout1); timeout1=null; },rollo.wait1_ms); }); } }); } und dem Listener auf alles was im Ordner "Rollo" ist: $('state[id=0_userdata*Rollo*]').on(function(obj){ //log('sth changed'); setTimer1(); setTimer2(); }); werden die Timer bei jeder Änderung neu erstellt. Noch nicht ganz schön sauber, aber es klappt. Erster Funktionstest steht aus. Die Grundfrage aber, ob ein Array mit DP als Objekte dynamisch angepasst werden kann, ist gelöst.
  • Update von node 20 auf 22: Verbindung mbus geht nicht mehr

    Ungelöst Error/Bug
    5
    0 Stimmen
    5 Beiträge
    48 Aufrufe
    bahnuhrB
    so, bin wieder auf 22 Und in der Tat; Adapter deinstalliert und dann wieder neu. Das hat geholfen. mfg
  • Fehlermeldung JS-Controller

    Verschoben ioBroker Allgemein
    5
    0 Stimmen
    5 Beiträge
    58 Aufrufe
    Kay RotheK
    Dankeschön

907

Online

32.6k

Benutzer

81.9k

Themen

1.3m

Beiträge