Skip to content

JavaScript

2.5k Topics 49.6k Posts

Hilfe für Skripterstellung mit JavaScript

NEWS

  • Fehlermeldung beim Schreiben von Daten in influxdb2

    5
    0 Votes
    5 Posts
    439 Views
    S
    @homoran said in Fehlermeldung beim Schreiben von Daten in influxdb2: schreibst du direkt in die DB? warum nicht in einen DP, der vom Adapter geloggt wird? Ich habe das Programm grundsätzlich von @haus-automatisierung übernommen und mit den Bezeichnungen für meine Datenpunkte angepasst (hoffentlich richtig). Wenn ich es richtig verstanden habe, ist der Zweck, dass die Daten dann einen identischen Zeitstempel haben. Ich schau mal, wie ich den Tieout erhöhen kann. Ich würde gerne mal testen, was bei einem einzelnen Schreibbefehl passiert. Wie müsste das Script dafür in Blockly aussehen? Erhalte ich dann eine Antwort/Bestätigung von influxdb?
  • LUPUSEC Alarmanlage einbinden

    Moved javascript
    204
    0 Votes
    204 Posts
    62k Views
    Captain-pattyC
    @stuebi hast du noch eine Idee?
  • javascript-Adapter bindet console.log nicht ein bei require

    javascript
    13
    0 Votes
    13 Posts
    852 Views
    OliverIOO
    @axel21 Gut, workaround ist da, ich werde bei Gelegenheit selber mal experimentieren.
  • [gelöst] Problem: Abruf von Strompreisen mit JS und Axios

    16
    0 Votes
    16 Posts
    1k Views
    fuzzy1955F
    @johgre sagte in [gelöst] Problem: Abruf von Strompreisen mit JS und Axios: Das iteriert jetzt durch das ResponseArray und schreibt alle Werte mal raus. Danke nochmals! Das ResponseArray läuft super! Genau das brauchte ich
  • setStateAsync in externem js-file evtl mit require??

    javascript
    7
    0 Votes
    7 Posts
    519 Views
    OliverIOO
    @axel21 ja scopes ist schon ein Thema, was man erst nach einer weile versteht. Wer kennt schon den Unterschied zwischen var und let oder einer normalen Function oder einer Arrow Function ()-> Hier gute quellen zur Erklärung. https://javascript.info/variables https://javascript.info/closure sowie 2.15-2.17 + 6.6,6.7,6.10,6.11
  • Shelly Adapter: online DP in Script auswerten

    1
    1
    0 Votes
    1 Posts
    128 Views
    No one has replied
  • Skriptausführung ioBroker.javascript: CPU-Grundlast 40 %

    9
    0 Votes
    9 Posts
    702 Views
    OliverIOO
    @ceram Die Sync getState kannst du einfach umstellen durch await getStateAsync Das hat den selben Effekt. Ein echtes Sync gibtves bei JavaScript eh nie.
  • Javascript bringt Warnung

    5
    0 Votes
    5 Posts
    539 Views
    paul53P
    @fischerict sagte: kommt die Warnung nun nicht mehr Vermutlich hat der Neustart der hm-rega-Instanz das Datenpunkt-Objekt korrigiert.
  • Eigene Typescript Module schreiben

    14
    0 Votes
    14 Posts
    1k Views
    HomoranH
    @iob69 sagte in Eigene Typescript Module schreiben: @ticaki Unter der Klasse "Kalender" steht: module.exports = { Kalender}; ist das Leerzeichen gewollt und korrekt?
  • [gelöst] Wie json automatisch Datenpunkte in richtige Verz.?

    javascript
    15
    0 Votes
    15 Posts
    1k Views
    maxclaudiM
    @haus-automatisierung Die Struktur ist enorm. Sie ändert sich auch immer mal wieder, weil Neues dazu kommt und Einiges selten oder gar nicht mehr aktualisiert wird. Muss nur noch Deinen großartigen Code mit meinem kombinieren und noch etwas anpassen. Ein ganz großes und herzliches Dankeschön :-)
  • Script: HP-ILO 4 Abfrage Temperaturen und FanSpeed

    24
    1 Votes
    24 Posts
    2k Views
    David G.D
    @lucifor1976 Hab es nicht im Script angepasst. Hab die beiden vom Script angelegten DPs im Admin angepasst. Ka ob es im Skript Sinn macht. Bei dir scheint der Typ ja zu stimmen der eingetragen wird bei der ilo4 Variante und bei mir nicht. Hab gtad nochmal geschaut. Das Script schreibt in die DPs bei mir wirklich ein array. Beim 4er unter bios.links {"self":{"href":"/rest/v1/systems/1/bios/Settings"}} Beim 5er unter bios.attributes {"AcpiHpet":"Enabled","AcpiRootBridgePxm":"Enabled","AcpiSlit":"Enabled","AdjSecPrefetch":"Enabled","AdminEmail":"","AdminName":"","AdminOtherInfo":"","AdminPhone":"","AdvCrashDumpMode":"Disabled","AdvancedMemProtection":"FastFaultTolerantADDDC","AsrStatus":"Enabled","AsrTimeoutMinutes":"Timeout10","AssetTagProtection":"Unlocked","AutoPowerOn":"RestoreLastState","BootMode":"Uefi","BootOrderPolicy":"RetryIndefinitely","ChannelInterleaving":"Enabled","CollabPowerControl":"Disabled","ConsistentDevNaming":"LomsAndSlots","CustomPostMessage":"","DaylightSavingsTime":"Disabled","DcuIpPrefetcher":"Enabled","DcuStreamPrefetcher":"Enabled","Dhcpv4":"Enabled","DynamicPowerCapping":"Disabled","EmbNicAspm":"Disabled","EmbNicEnable":"Auto","EmbNicLinkSpeed":"Auto","EmbNicPCIeOptionROM":"Enabled","EmbSas1Aspm":"Disabled","EmbSas1Boot":"TwentyFourTargets","EmbSas1Enable":"Auto","EmbSas1LinkSpeed":"Auto","EmbSas1PcieOptionROM":"Enabled","EmbSata1Aspm":"Disabled","EmbSata2Aspm":"Disabled","EmbVideoConnection":"Auto","EmbeddedDiagnostics":"Enabled","EmbeddedSata":"Ahci","EmbeddedSerialPort":"Com2Irq3","EmbeddedUefiShell":"Enabled","EmsConsole":"Disabled","EnabledCoresPerProc":0,"EnergyEfficientTurbo":"Disabled","EnergyPerfBias":"MaxPerf","EnhancedProcPerf":"Disabled","EraseUserDefaults":"No","ExtendedAmbientTemp":"Disabled","ExtendedMemTest":"Disabled","F11BootMenu":"Enabled","FCScanPolicy":"CardConfig","FanFailPolicy":"Shutdown","FanInstallReq":"EnableMessaging","FlexLom1Aspm":"Disabled","HttpSupport":"Auto","HwPrefetcher":"Enabled","IODCConfiguration":"Auto","IntelDmiLinkFreq":"Auto","IntelNicDmaChannels":"Enabled","IntelPerfMonitoring":"Disabled","IntelProcVtd":"Enabled","IntelligentProvisioning":"Enabled","InternalSDCardSlot":"Enabled","IpmiWatchdogTimerAction":"PowerCycle","IpmiWatchdogTimerStatus":"IpmiWatchdogTimerOff","IpmiWatchdogTimerTimeout":"Timeout30Min","Ipv4Address":"0.0.0.0","Ipv4Gateway":"0.0.0.0","Ipv4PrimaryDNS":"0.0.0.0","Ipv4SecondaryDNS":"0.0.0.0","Ipv4SubnetMask":"0.0.0.0","Ipv6Address":"::","Ipv6ConfigPolicy":"Automatic","Ipv6Duid":"Auto","Ipv6Gateway":"::","Ipv6PrimaryDNS":"::","Ipv6SecondaryDNS":"::","LLCDeadLineAllocation":"Enabled","LlcPrefetch":"Disabled","LocalRemoteThreshold":"Auto","MaxMemBusFreqMHz":"Auto","MaxPcieSpeed":"PerPortCtrl","MemClearWarmReset":"Disabled","MemFastTraining":"Enabled","MemMirrorMode":"Full","MemPatrolScrubbing":"Enabled","MemRefreshRate":"Refreshx1","MemoryControllerInterleaving":"Auto","MemoryRemap":"NoAction","MinProcIdlePkgState":"NoState","MinProcIdlePower":"NoCStates","MixedPowerSupplyReporting":"Enabled","NetworkBootRetry":"Enabled","NetworkBootRetryCount":20,"NicBoot1":"NetworkBoot","NicBoot2":"Disabled","NicBoot3":"Disabled","NicBoot4":"Disabled","NodeInterleaving":"Disabled","NumaGroupSizeOpt":"Clustered","NvmeOptionRom":"Enabled","OpportunisticSelfRefresh":"Disabled","PciPeerToPeerSerialization":"Disabled","PciResourcePadding":"Normal","PciSlot1Bifurcation":"Auto","PciSlot2Bifurcation":"Auto","PciSlot3Bifurcation":"Auto","PciSlot5Bifurcation":"Auto","PciSlot6Bifurcation":"Auto","PciSlot7Bifurcation":"Auto","PciSlot8Bifurcation":"Auto","PersistentMemBackupPowerPolicy":"WaitForBackupPower","PostBootProgress":"Disabled","PostDiscoveryMode":"Auto","PostF1Prompt":"Delayed20Sec","PostVideoSupport":"DisplayAll","PostedInterruptThrottle":"Enabled","PowerButton":"Enabled","PowerOnDelay":"NoDelay","PowerRegulator":"StaticHighPerf","PreBootNetwork":"Auto","PrebootNetworkEnvPolicy":"Auto","PrebootNetworkProxy":"","ProcAes":"Enabled","ProcHyperthreading":"Enabled","ProcTurbo":"Enabled","ProcVirtualization":"Enabled","ProcX2Apic":"Enabled","ProcessorConfigTDPLevel":"Normal","ProcessorJitterControl":"Disabled","ProcessorJitterControlFrequency":0,"ProcessorJitterControlOptimization":"ZeroLatency","ProductId":"P21788-421","RedundantPowerSupply":"BalancedMode","RefreshWatermarks":"Auto","RemovableFlashBootSeq":"ExternalKeysFirst","RestoreDefaults":"No","RestoreManufacturingDefaults":"No","RomSelection":"CurrentRom","SataSecureErase":"Disabled","SaveUserDefaults":"No","SecStartBackupImage":"Disabled","SecureBootStatus":"Enabled","SerialConsoleBaudRate":"BaudRate115200","SerialConsoleEmulation":"Vt100Plus","SerialConsolePort":"Auto","SerialNumber":"CZJ2401PP3","ServerAssetTag":"","ServerConfigLockStatus":"Disabled","ServerName":"WILESXI-01.ad.wilke.de","ServerOtherInfo":"","ServerPrimaryOs":"","ServiceEmail":"","ServiceName":"","ServiceOtherInfo":"","ServicePhone":"","SetupBrowserSelection":"Auto","Slot1MctpBroadcastSupport":"Enabled","Slot2MctpBroadcastSupport":"Enabled","Slot3MctpBroadcastSupport":"Enabled","Slot5MctpBroadcastSupport":"Enabled","Slot6MctpBroadcastSupport":"Enabled","Slot7MctpBroadcastSupport":"Enabled","Slot8MctpBroadcastSupport":"Enabled","Sriov":"Enabled","StaleAtoS":"Disabled","SubNumaClustering":"Enabled","ThermalConfig":"OptimalCooling","ThermalShutdown":"Enabled","TimeFormat":"Utc","TimeZone":"UtcP1","TpmChipId":"None","TpmFips":"NotSpecified","TpmState":"NotPresent","TpmType":"NoTpm","UefiOptimizedBoot":"Enabled","UefiSerialDebugLevel":"Disabled","UefiShellBootOrder":"Disabled","UefiShellScriptVerification":"Disabled","UefiShellStartup":"Disabled","UefiShellStartupLocation":"Auto","UefiShellStartupUrl":"","UefiShellStartupUrlFromDhcp":"Disabled","UefiVariableAccessFwControl":"Disabled","UncoreFreqScaling":"Maximum","UrlBootFile":"","UrlBootFile2":"","UrlBootFile3":"","UrlBootFile4":"","UsbBoot":"Enabled","UsbControl":"UsbEnabled","UserDefaultsState":"Disabled","UtilityLang":"English","VirtualInstallDisk":"Disabled","VirtualSerialPort":"Com1Irq4","VlanControl":"Disabled","VlanId":0,"VlanPriority":0,"WakeOnLan":"Enabled","WorkloadProfile":"Virtualization-MaxPerformance","XptPrefetcher":"Auto","iSCSIPolicy":"SoftwareInitiator"} BIOS sieht dafür so aus: [image: 1751577392719-screenshot_20250703_231615_chrome.jpg] Als ob die Werte bei beiden Werten erst eine Ebene tiefer extrahiert werden dürften. Ich teste morgen mal (chatgpt) const valueType = typeof val === 'boolean' ? 'boolean' : typeof val === 'number' ? 'number' : typeof val === 'object' && val !== null && !Array.isArray(val) ? 'object' : Array.isArray(val) ? 'array' : 'string'; ob das die Fehler aus dem Log wirft. Wobei das ja die DPs vermutlich dadurch nicht entsprechend befüllt. EDIT: Habe jetzt unter BIOS die Erkennung in der ilo4 Variante vom Type zu for (const [key, val] of Object.entries(bios)) { try { const dp = dpPrefix + 'bios.' + sanitizeId(key); const valueType = typeof val === 'boolean' ? 'boolean' : typeof val === 'number' ? 'number' : typeof val === 'object' && val !== null && !Array.isArray(val) ? 'object' : Array.isArray(val) ? 'array' : 'string'; erweitert. Bei der ilo5 Variante (Eigentlich das gleiche, nur hast du es da in einer Zeile stehen) const valueType = typeof val === 'boolean' ? 'boolean' : typeof val === 'number' ? 'number' : typeof val === 'object' && val !== null && !Array.isArray(val) ? 'object' : Array.isArray(val) ? 'array' : 'string'; Jetzt ist das Log still. (DPs aber nicht korrekt befüllt, siehe Screenshot) EDIT2 Habe auf git erst aus versehen einen pull request für v4 gemacht. Sollte v5 werden. Kannst du den ablehnen? sehe nicht wo ich das wiederrufen kann.
  • Java Script: Sanftes Aufstehen mit Zigbee

    25
    0 Votes
    25 Posts
    3k Views
    HomoranH
    @martin_olw sagte in Java Script: Sanftes Aufstehen mit Zigbee: Hier sieht man es besser: dann musst du dir dein Homee näher ansehen. Der false Befehl kommt von da In der Konfiguration den Haken bei "null-werte...." entfernen, wenn du diese nicht im log haben willst
  • Datenpunkte setzten bevor ein Script gestoppt wird

    4
    0 Votes
    4 Posts
    421 Views
    C
    @ofri2607 Danke, gerade getestet, Damit komme ich weiter.
  • Shelly RGB2 mit LED-Strip blicken wenn true

    Moved
    10
    0 Votes
    10 Posts
    830 Views
    mickymM
    @homoran Verschieb ihn halt zu den Javascript
  • Script zum überarbeiten des Loggin von Datenpunkten

    6
    0 Votes
    6 Posts
    464 Views
    B
    @ben1983 Bei MySQL geht das bei den genannten Punkten nicht. Der Button zum Speichern bleibt grau. Hier gibt es irgendwo schon ein paar Threads seit 2018 dazu. Der Fehler ist immer gleich. Du änderst was im Interface und kannst es nicht speichern. Wie geht das nun per Script?
  • getState ohne/mit await

    43
    0 Votes
    43 Posts
    5k Views
    P
    @paul53 Erstmal vielen lieben Dank für deine Erklärungen für mich Newbie :-) Irgendwie noch ein wenig Spaghetti im Kopf. Also, wenn ich es richtig verstanden habe, dann kann ich mit eingeschalteten Puffer getState und setState direkt nutzen, die Werte sind im Puffer, und bei einem getState oder setstate wird gewarten bis er wirklich im "Puffer" geschrieben ist, richtig? Das heißt aber, die sind noch nicht mit dem JS Controller/Datenbank synchronisiert. Das kommt dann irgendwann automatisch. Ohne Puffer nutzt man dann await setStateasync oder await getStateasync, damit sicher erst die DAtenpunkte beschrieben sind, bevor es weiter geht. Ich bastel mir gerade ne Schrittkette (Typisch Siemens :-) ) mit einem int Wert, der dann von den einzelen Scripten gesetzt wird, wenn die sicher ihre Arbeit abgeschlossen haben. Die nachfolgenden Scripte arbeiten mit Werten aus den vorherigen Scripten. Gruß und Besten Dank für deine Geduld :-)
  • [gelöst] Skript auf AXIOS/httpGet umbauen

    59
    0 Votes
    59 Posts
    14k Views
    D
    @haus-automatisierung vielen lieben Dank -> funktioniert :)
  • Skript zum PiHole Version 6 an- und ausschalten

    Moved
    5
    1 Votes
    5 Posts
    636 Views
    OliverIOO
    Zum Test steht nun der neue pi-hole2 Adapter zur Verfügung https://forum.iobroker.net/topic/81472/neuer-adapter-pi-hole2-für-pihole-v6?_=1750927226913
  • [gelöst] 1 + 2 = 12?

    9
    2
    0 Votes
    9 Posts
    641 Views
    haus-automatisierungH
    @iob69 sagte in [gelöst] 1 + 2 = 12?: Edit: Das Control JQui Input liefert mir offenbar den String. Das hab ich nicht beachtet, dass der ja wohl auch für Buchstaben-Eingabe funktioniert. Allerdings kann man dort angeben "als string" was nicht der Fall war. Und man kann sogar stellen hinter dem Komma angeben. Er liefert trotzdem einen String... Dann ist das wohl ein Bug (oder so dokumentiert). Ansonsten könntest Du auch einen Alias nutzen um immer einen numerischen Wert zu parsen. Das Ziel von dem Input dann auf String umstellen, damit es keine Warnung im Log gibt
  • Frage zu URL() im Javascript adapter

    3
    2
    0 Votes
    3 Posts
    318 Views
    C
    @liv-in-sky vielen Dank!

399

Online

33.0k

Users

83.3k

Topics

1.3m

Posts