NEWS

Userdata: States mit Javascript anlegen


  • Hallo zusammen,

    ich versuche gerade mit Javascript States im Bereich 0_userdata.0 anzulegen. Ich bekomme allerdings die Meldung:
    Function "setObject" is not allowed. Use adapter settings to allow it.

    Ich schließe daraus, dass ich mit javascript nur States im Bereich javascript.0 anlegen kann. Stimmt das? Gibt es Pläne, dass sich das ändert?

    Danke schon mal im Voraus. 🙂
    Grüße, Stefan


  • Sorry das war ein Schnellschuss...

    Für alle die das selbe Problem haben: In den Einstellungen eures Javascript Adapters gibt es die Option "Erlaube das Kommando setObject". Häkchen setzen und schon get es.


  • @schdief
    Danke 🙂

  • Developer


  • hmm....irgendwie klappt das bei mir mir nicht.
    Hier mal mal mein Script zum erzeugen der Datapoint.

    let statesToCreate = [
        ['WetterstationDach.IP', {'name':'Wetterstatin IP', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.RTCTimeKomplett', {'name':'RTC-Datum-Uhrzeit Komplett', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.RTCTimeStunde', {'name':'RTC aktuelle Stunde', 'unit': 'Uhr', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.LastNTPSync', {'name':'letzte Aktualisierung NTP-Zeit', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.TempKlemmkasten', {'name':'Temperatur Klemmkasten Dachboden', 'unit': '°C', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.Sonnenschein', {'name':'Sonnenschein 0=Nein 1=Ja', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.SonnensensorSunshine', {'name':'Sonnensensor Temperatur - Maxim DS18B20', 'unit': '°C', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.SonnensensorDifferenz', {'name':'Sonnensensor (Temperaturdifferenz NICHT geglättet) - Maxim DS18B20', 'unit': '°C', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.SonnensensorDifferenzMittel', {'name':'Sonnensensor (Temperaturdifferenz geglättet) - Maxim DS18B20', 'unit': '°C', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.SHT31Temperatur', {'name':'Temperatur - SHT31', 'unit': '°C', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.SHT31Windchill', {'name':'WindchillTemperatur - SHT31', 'unit': '°C', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.SHT31Luftfeuchte', {'name':'Luftfeuchtigkeit - SHT31', 'unit': '%', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.WindDirectionAS5040', {'name':'Windrichtung - AS5040', 'unit': '°', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.WindDirectionAS5040AVG', {'name':'Windrichtung (Durchschnitt) - AS5040', 'unit': '°', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.WindGustDirectionAS5040', {'name':'Windböenrichtung - AS5040', 'unit': '°', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.WindSpeed', {'name':'Windgeschwindigkeit', 'unit': 'km/h', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.WindSpeedAVG', {'name':'Windgeschwindigkeit (Durchschnitt)', 'unit': 'km/h (AVG)', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.WindSpeedGust', {'name':'Windspitzengeschwindigkeit', 'unit': 'km/h', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.RainLastHour', {'name':'Regenmenge der letzten Stunde', 'unit': 'mm last hour', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.RainToday', {'name':'Regenmenge (Tag)', 'unit': 'mm Tagesmenge', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.KapRainSensorAnalog', {'name':'Regendedektion - Analog', 'unit': 'mV', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.Regen', {'name':'Regen', false, {'read': true, 'write': true, 'type': 'boolean', 'name': 'Regendedektion', 'desc': 'true = Regen, false=trocken', 'role':'info'}],
        ['WetterstationDach.TempTrichter', {'name':'Regenmengensensor - Temperatur Trichter', 'unit': '°C', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.TempWippe', {'name':'Regenmengensensor - Temperatur Wippe', 'unit': '°C', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.TrichterPWM', {'name':'Regenmengensensor - PWM Heizung Trichter', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.WippePWM', {'name':'Regenmengensensor - PWM Heizung Wippe', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.KombiSensorTemp', {'name':'Temperatur - BME280', 'unit': '°C', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.KombiSensorFeucht', {'name':'Luftfeuchtigkeit - BME280', 'unit': '%', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.KombiSensorPressure', {'name':'Luftdruck - BME280', 'unit': 'Pa', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.KombiSensorAbsPressure', {'name':'absoluter Luftdruck - BME280', 'unit': 'hPa (abs)', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.KombiSensorRelPressure', {'name':'relativer Luftdruck - BME280', 'unit': 'hPa (rel)', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.KombiSensorWetterstatus', {'name':'Wetterstatus - BME280', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.KombiSensorTendenz', {'name':'Tendenz - BME280', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.Lichtstaerke', {'name':'Lichtstärke - BH1750', 'unit': 'Lux', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.RadiationShieldPWM', {'name':'RadiationShield Luefter PWM', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.RadiationShieldRPM', {'name':'RadiationShield Luefter Drehzahl', 'unit': 'U/Min', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.UVIndexWert', {'name':'UVSensor ML8511 - UV-Index', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.UVSensorUVIntensity', {'name':'UVSensor ML8511 - UVIntensity', 'unit': 'mW/cm²', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.UVM30a-Index', {'name':'UVM30a UV-Index', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.UVM30a-Voltage', {'name':'UVM30a Sensorspannung', 'unit': 'mV', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.Himmelstemperatur', {'name':'Himmelstempertur', 'unit': '°C', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.DebugTrendSetup', {'name':'DEBUG Wettertrend Start Setup', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.DebugTrendTimeloop', {'name':'DEBUG Wettertrend TimeLoop', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.Watchdog', {'name':'Auslösung Watchdog der Wetterstation', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
    ];
    createUserStates('0_userdata.0', false, statesToCreate, function(){
        log('Jetzt sind alle States abgearbeitet und wir können nun fortfahren, z.B. nächste Funktion main() aufrufen.');
        main();
    });
    
    function main() {
        // Hier dann alles weitere.
        log('Nun sind wir in der main()-Funktion.')
    
        // Hier der weitere Code...
        
    };
    

    Was mache ich falsch?
    Gruß
    Johnny


  • @PrinzEisenherz1 Die Option im Javascript Adapter hast du aktiviert?


  • Außerdem hast du einen Syntaxfehler. In der letzten Zeile deines Arrays ist ein Komma zu viel:

    let statesToCreate = [
        ['WetterstationDach.IP', {'name':'Wetterstatin IP', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.RTCTimeKomplett', {'name':'RTC-Datum-Uhrzeit Komplett', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.RTCTimeStunde', {'name':'RTC aktuelle Stunde', 'unit': 'Uhr', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.LastNTPSync', {'name':'letzte Aktualisierung NTP-Zeit', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.TempKlemmkasten', {'name':'Temperatur Klemmkasten Dachboden', 'unit': '°C', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.Sonnenschein', {'name':'Sonnenschein 0=Nein 1=Ja', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.SonnensensorSunshine', {'name':'Sonnensensor Temperatur - Maxim DS18B20', 'unit': '°C', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.SonnensensorDifferenz', {'name':'Sonnensensor (Temperaturdifferenz NICHT geglättet) - Maxim DS18B20', 'unit': '°C', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.SonnensensorDifferenzMittel', {'name':'Sonnensensor (Temperaturdifferenz geglättet) - Maxim DS18B20', 'unit': '°C', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.SHT31Temperatur', {'name':'Temperatur - SHT31', 'unit': '°C', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.SHT31Windchill', {'name':'WindchillTemperatur - SHT31', 'unit': '°C', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.SHT31Luftfeuchte', {'name':'Luftfeuchtigkeit - SHT31', 'unit': '%', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.WindDirectionAS5040', {'name':'Windrichtung - AS5040', 'unit': '°', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.WindDirectionAS5040AVG', {'name':'Windrichtung (Durchschnitt) - AS5040', 'unit': '°', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.WindGustDirectionAS5040', {'name':'Windböenrichtung - AS5040', 'unit': '°', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.WindSpeed', {'name':'Windgeschwindigkeit', 'unit': 'km/h', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.WindSpeedAVG', {'name':'Windgeschwindigkeit (Durchschnitt)', 'unit': 'km/h (AVG)', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.WindSpeedGust', {'name':'Windspitzengeschwindigkeit', 'unit': 'km/h', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.RainLastHour', {'name':'Regenmenge der letzten Stunde', 'unit': 'mm last hour', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.RainToday', {'name':'Regenmenge (Tag)', 'unit': 'mm Tagesmenge', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.KapRainSensorAnalog', {'name':'Regendedektion - Analog', 'unit': 'mV', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.Regen', {'name':'Regen', false, {'read': true, 'write': true, 'type': 'boolean', 'name': 'Regendedektion', 'desc': 'true = Regen, false=trocken', 'role':'info'}],
        ['WetterstationDach.TempTrichter', {'name':'Regenmengensensor - Temperatur Trichter', 'unit': '°C', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.TempWippe', {'name':'Regenmengensensor - Temperatur Wippe', 'unit': '°C', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.TrichterPWM', {'name':'Regenmengensensor - PWM Heizung Trichter', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.WippePWM', {'name':'Regenmengensensor - PWM Heizung Wippe', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.KombiSensorTemp', {'name':'Temperatur - BME280', 'unit': '°C', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.KombiSensorFeucht', {'name':'Luftfeuchtigkeit - BME280', 'unit': '%', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.KombiSensorPressure', {'name':'Luftdruck - BME280', 'unit': 'Pa', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.KombiSensorAbsPressure', {'name':'absoluter Luftdruck - BME280', 'unit': 'hPa (abs)', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.KombiSensorRelPressure', {'name':'relativer Luftdruck - BME280', 'unit': 'hPa (rel)', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.KombiSensorWetterstatus', {'name':'Wetterstatus - BME280', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.KombiSensorTendenz', {'name':'Tendenz - BME280', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.Lichtstaerke', {'name':'Lichtstärke - BH1750', 'unit': 'Lux', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.RadiationShieldPWM', {'name':'RadiationShield Luefter PWM', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.RadiationShieldRPM', {'name':'RadiationShield Luefter Drehzahl', 'unit': 'U/Min', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.UVIndexWert', {'name':'UVSensor ML8511 - UV-Index', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.UVSensorUVIntensity', {'name':'UVSensor ML8511 - UVIntensity', 'unit': 'mW/cm²', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.UVM30a-Index', {'name':'UVM30a UV-Index', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.UVM30a-Voltage', {'name':'UVM30a Sensorspannung', 'unit': 'mV', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.Himmelstemperatur', {'name':'Himmelstempertur', 'unit': '°C', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.DebugTrendSetup', {'name':'DEBUG Wettertrend Start Setup', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.DebugTrendTimeloop', {'name':'DEBUG Wettertrend TimeLoop', 'type':'string', 'read':true, 'write':true, 'role':'info'}],
        ['WetterstationDach.Watchdog', {'name':'Auslösung Watchdog der Wetterstation', 'type':'string', 'read':true, 'write':true, 'role':'info'}]
    ];
    

  • Ich kann in 0_userdata.0 zwar Objekte anlegen, aber die reagieren auf nichts...
    SetObjekt ist an.
    Was muss ich noch einstellen?
    Die selben DP unter Javascript.0 angelegt, schon funktionieren sie!

  • Most Active

    @guergen Du musst den Javascript Adapter neu starten.


  • @FredF Danke!

Suggested Topics

  • 2
  • 5
  • 5
  • 17
  • 10
  • 8
  • 3
  • 1

2.0k
Online

35.0k
Users

41.0k
Topics

563.2k
Posts