Skip to content

JavaScript

Hilfe für Skripterstellung mit JavaScript

2.5k Topics 48.9k Posts

NEWS

  • Grünbeck SC18 Daten mit JS auslesen

    132
    2
    1 Votes
    132 Posts
    23k Views
    PreslP
    Ich bräuchte eure Hilfe - ich kann via IOBroker die Daten nicht auslesen -> wird überall null angezeigt. Mache ich hier etwas falsch? Folgendes sehe ich im Log: [image: 1694676032471-f433fd7e-1560-41f3-9606-af6af455b549-image.png] [image: 1694676059700-c66f9518-77ca-438a-a7a6-be6c8c832aba-image-resized.png]
  • [gelöst]: signal-rest-api: Nachricht mit Bild senden

    7
    0 Votes
    7 Posts
    374 Views
    CodierknechtC
    @haus-automatisierung By the way: Was macht Dein Speicher-Projekt? :sunglasses:
  • DSB - Abrage

    Moved javascript
    36
    0 Votes
    36 Posts
    4k Views
    Holger76H
    Da mein Kind nun auch diese sehr unübersichtliche App nutzen muss , war ich auf der Suche, ob sich da was für das VIS findet. Leider muss ich feststellen, dass das o.g. Script nicht mehr läuft. Vielleicht findet sich ja doch jemand, der es an den aktuellen Stand anpasst ?!
  • [Vorlage] Screenshots Überwachungskamera Telegramm

    1
    0 Votes
    1 Posts
    227 Views
    No one has replied
  • Muss ich hier updaten?

    3
    1 Votes
    3 Posts
    360 Views
    KusselinK
    @thomas-braun Danke Dir
  • Loop Problem

    4
    0 Votes
    4 Posts
    342 Views
    paul53P
    @smartin sagte: Und wie werden da gültigen Datenpunkt-IDs draus? Den Objektpfad hinzufügen. const path = 'adapter.0.folder.'; // anpassen! function HiLo() { for (let i = 1; i <= 21; i++) { const kursId = path + `Kurs${i}`; // Namen Kurs1 - Kurs21 vergeben const lowId = path + `Low${i}`; // Namen Low1 - Low21 vergeben const highId = path + `High${i}`; // Namen High1 - High21 vergeben Wenn die Namen eindeutig im gesamten ioBroker sind, kann auch getIdByName(name) verwendet werden. const kursId = getIdByName(`Kurs${i}`); // Namen Kurs1 - Kurs21 vergeben const lowId = getIdByName(`Low${i}`); // Namen Low1 - Low21 vergeben const highId = getIdByName(`High${i}`); // Namen High1 - High21 vergeben
  • [gelöst] JS direkt im CSS hqwidgets Window and Shutter

    12
    2
    0 Votes
    12 Posts
    760 Views
    OliverIOO
    @digitalmechanik nein, auch so funktioniert es nicht. wenn du inhalte von datenpunkten in einer formel berücksichtigen willst, dann musst du diese in variable laden. genau so wie du es mit hm-rpc... nach wert gemacht hast. du darfst hier auch mehrere anweisungen mit strichpunkt getrennt aneinander reihen. aber für deine konkrete lösung würde ich das nicht machen, da es besser ist in die widgets möglichst nur einfache logik einzubauen, da es sonst nicht mehr lesbar ist, daher hier ein kleines experiment kopier dir die folgenden css anweisungen in den css reiter in vis auf der rechten seite. achte darauf, das im css reiter projekt ausgewählt ist und du die evtl vorhandene inhalte beim kopieren nicht löschst .red { background-image: url("https://upload.wikimedia.org/wikipedia/commons/7/7f/Red-ff0000.png"); } .yellow { background-image: url("https://upload.wikimedia.org/wikipedia/commons/a/a1/Pure_yellow_screen.png"); } .green { background-image: url("https://upload.wikimedia.org/wikipedia/commons/d/d5/Green_Gradient.png"); } lege einen neuen Datenpunkt an vom typ numerisch und trage dort 1 ein lege ein neues html widget an rechts bei html trägst du mal test ein (ist nur, das wir das widget auch wieder finden als größe trägst du bei width und heigth 64px ein im Abschnitt "general" der widget einstellungen bei CSS Class trägst du das folgende aus dem kasten ein. den datenpunktnamen 0_userdata.0.test.test_11 ersetzt du durch deinen frisch angelegten von oben. {wert:0_userdata.0.test.test_11;wert==0?"red":wert==1?"yellow":wert==2?"green":""} dann gehst du in vis in den runtime modus und das widget müsste gelb sein wenn du den datenpunkt änderst, dann müsste es automatisch die jeweilig andere farbe annehmen. (ich habe bei den bildern welche rausgesucht die einfach den farben entsprechen. du kannst natürlcih auch x beliebige bilder nehmen. auch welche, die in vis gespeichert sind oder du dort hochgeladen hast. an diesem beispiel siehst du, das wir die komplizierten dinge (urls in css anweisungen) dort haben, wo sie hingehören-> css anweisungen und per logik nur noch den klassenname ändern. die css klassennamen kannst du nennen wie du willst, musst die halt dann auch in der formel anpassen.
  • Wie kann ich ein Script mit scheduler starten

    3
    0 Votes
    3 Posts
    258 Views
    M
    @oliverio said in Wie kann ich ein Script mit scheduler starten: schedule('*/2 * * * *',()=>{ Funktioniert! Vielen Dank
  • Entwicklungsumgebung für Script Entwicklung?

    19
    0 Votes
    19 Posts
    2k Views
    liv-in-skyL
    @ticaki manchmal ist es ganz gut anstatt im forum direkt in google mit dem ersten wort iobroker zu suchen z.b. "iobroker entwicklungsumgebung" EDIT: ich weiß nicht, ob es bei diesem thema so ist
  • Date an schedule übergeben

    24
    0 Votes
    24 Posts
    880 Views
    G
    @oliverio Danke für deine Hilfe. Wie weiter oben schon geschrieben, habe ich es bereits (genau so) hinbekommen.... Problem war auch eher die falsche Verwendung es callbacks. Grüße Giraffe
  • [gelöst] Objektdaten ändern

    3
    0 Votes
    3 Posts
    305 Views
    Ro75R
    @paul53 sagte in Objektdaten ändern: extendObject(id, {common: {type: 'string'}}); Danke @paul53 , das war/ist ja einfach. Ro75.
  • JavaScript für Sayit Adapter

    7
    0 Votes
    7 Posts
    408 Views
    paul53P
    @maxtor62 sagte: Kommt auch immer "Das Küchenfenster ist zu" Hast recht. Setze eine Klammer: const idSayIt = "sayit.0.tts.text"; const idGarage = "0_userdata.0.Haus.Garagentor"; on(idGarage, function (dp) { // 0 = "offen", 1 = "zu" setState (idSayIt, "100;Achtung Warnung! Garagentor ist " + (dp.state.val ? "zu" : "offen")); });
  • JSON Tabelle in Intervallen befüllen

    3
    0 Votes
    3 Posts
    271 Views
    F
    @hansanaut schau dir mal den Adapter statistics an. Der macht das (die Durchschnittswerte für die Kalenderwoche, Monat und Jahr...) automatisch.
  • Script um shellyplus und das addon dazu auszulesen (mqtt)

    19
    5
    0 Votes
    19 Posts
    2k Views
    A
    @ticaki Werte wieder da :-) .... Vielen Dank .... die Antwort war min. 1 Kasten Bier:beer: wert :+1:
  • Temperatur Hysterese bei If Verschachtelung

    8
    0 Votes
    8 Posts
    683 Views
    D
    @ticaki said in Temperatur Hysterese bei If Verschachtelung: @diamand2k22 let istAn = getState('heizung oder was auch immer').val if (FC >= 80) { // netzdienlich // 5 ,6, 7, 8, 9,10,11, 12, 13, 14, 15, 16 17, 18 Uhr if (SOC < 25) { Laden_Mit = [0, 0, 0, 6, 6, 6, 6, 12, 12, 24, 24, 30, 36, 100]; } else {// hier ist in deinem Skript ein Fehler die else greift immer Laden_Mit = [0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 24, 30, 36, 100]; } // hier hab ich das else deshalb entfernt if (FC >= 40 && PufferTemp > (istAn ? 50 : 55) ) { istAn = true // verteilen Laden_Mit = [0, 0, 0, 6, 12, 12, 12, 12, 12, 18, 18, 24, 36, 100]; } else if (FC >= 40 && PufferTemp < (!istAn ? 50 : 55)) { istAn = false Laden_Mit = [0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 24, 30, 36, 100]; } else if (FC < 40 && PufferTemp > (istAn ? 50 : 55)) { istAn = true // Hamstern Laden_Mit = [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]; } else if (FC < 40 && PufferTemp < (!istAn ? 50 : 55)) { // Pufferspeicher laden istAn = false Laden_Mit = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; } } // hier dann heizung schalten oder datenpunkt setzten der beim nächsten durchlauf gelesen wird. Ich verstehe es aber nicht ganz. Was schaltet da die Heizung an? @ticaki die Heizung ist kein separater Datenpunkt! Es wird im Skript einfach die Ladeleistung des Akkus herabgesetzt (in den Klammern [...] und somit zieht der Heizstab den PV Überschuss weg. Leider gibt es bei dem Gen24 Wechelrichter keinen Datenpunkt in der Modbus Schnittstelle um die Priorisierung zu ändern, somit muss ich die Ladeleistung des Akkus drosseln, damit der Heizstab (hängt am Ohmpilot) mehr Überschuss bekommt!
  • PV Überschussladen - Nach 5 Minuten

    4
    0 Votes
    4 Posts
    472 Views
    M
    @paul53 said in PV Überschussladen - Nach 5 Minuten: @malz1902 sagte: PV Überschussladen für Warmwasser Enthält der Trigger-Datenpunkt den PV-Überschuss (Netz-Einspeisung) oder die PV-Leistung des WR? Im ersten Fall muss die Hysterese etwas größer sein als die Leistungsaufnahme der WW-Heizung. Im zweiten Fall sollte auch eine (kleine) Hysterese verwendet werden. das kann ich mir aussuchen, habe beide Werte Habe mir dein 2. Beisspiel genommen und etwas angepasst. Danke Stand wirklich vol aufm schlauch
  • Werte aus Smartmeter Adapter in Excel exportieren

    45
    0 Votes
    45 Posts
    7k Views
    OliverIOO
    @huhie Es ist relativ egal wo die Datei liegt, sofern der User iobroker dort schreiben darf. Ich glaube, weiß es nicht genau, das die Angabe nur eines Dateinamens direkt in /opt/iobroker schreibt. Besser wäre in /opt/iobroker/iobroker-data/files Zu schreiben. Um sicher zu gehen einfach den Dateinamen direkt mit einem absoluten Pfad angeben.
  • Adapter restart wenn bestimmter Fehler im Log

    36
    0 Votes
    36 Posts
    4k Views
    bahnuhrB
    @homoran sagte in Adapter restart wenn bestimmter Fehler im Log: und die Fehlermeldung kann vom hm-rpc für cuxd kommen, der cuxd nicht gefunden hat, weil deaktiviert. ja, das gibt Sinn
  • [erledigt, nicht gelöst] Bild von Webcam lokal speichern

    10
    0 Votes
    10 Posts
    376 Views
    ?
    @boronsbruder Danke, ich schau' mir das mal an - soweit ich es verstehe :sweat_smile:
  • [Gelöst] Lösung für Bilder für VIS verfügbar machen

    1
    1 Votes
    1 Posts
    191 Views
    No one has replied

313

Online

32.7k

Users

82.4k

Topics

1.3m

Posts