Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon! 🥇🥈🥉

Teknor

Medlemmer
  • Innlegg

    145
  • Ble med

  • Dager vunnet

    3

Innlegg skrevet av Teknor

  1. Ikke så mye aktivitet her, men forsøker likevel….

     

    Her har en flink person laget integrasjon mellom Badetassen og Homey. Mulig å gjøre det samme mot Domoticz for noen som kan denslags?

     

     https://homey.solweb.no/custom-integrations/badetemperatur

     

    // Fetching temperature from Altibox API. Badetassen.
    // For use with Athom Homey as a homeyscript.

    const apiurl = 'https://prdl-apimgmt.lyse.no/apis/t/prod.altibox.lyse.no/temp/1.0/api/location/'

    async function getData() {
        let resp = await fetch(apiurl, {
            "headers": {
                "accept": "application/json",
                "content-type": "application/json",
                "Authorization": "Bearer 9df43895-3d09-30d5-afe4-db2bf92a86f0",
            },
            "method": "GET"
        });
        let data = await resp.json()

        let el = null
        for (let i = 0; i < data.length; i++) {
            if (data[i].Name === 'Sjøbadet') {
                el = data[i]
            }
        }

        return el
    }

    let r = await getData()
    console.log("=== Results ===")
    console.log(r)

    if (r === null) return;

    console.log("Tag " + "badetassen_" + r.id)
    console.log({type: 'number', title:'Badetemp [' + r.Name + ']'})
    console.log("Temperature: ", r.lastTemperature)

    await setTagValue("badetemp_" + r.id, {type: 'number', title:'Badetemp [' + r.Name + ']'}, parseFloat(r.lastTemperature))


     

  2. Ble noe rusk i midten av februar kan det se ut som, @eiman

     

    local idxPriceNow = 3436 --Custom sensor
    local idxPriceLevelNow = 3446 --Text device
    local idxPriceAverageToday = 3438 --Custom sensor
    local idxPriceAverageTmorrow = 3439 --Text device
    local idxStdDeviationToday = 3440 --Custom sensor
    local idxStdDeviationTomorrow = 3441 --Text device
    local idxMinToday = 3442 --Custom device
    local idxMaxToday = 3443 --Custom device
    local idxMinTomorrow = 3444 --Text device
    local idxMaxTomorrow = 3445 --Text device
    
    return {
    	on = {
    		timer = {
    			'every hour',				-- 00:00, 01:00, ..., 23:00	(24x per 24hrs)
    		},
    
            customEvents = {
                'tibberPricesUpdated' --Trigered from tibber_fetch_prices
            },
    	},
    	logging = {
    		level = domoticz.LOG_INFO,
    		marker = 'TibberPrices Update devices',
    	},
    	execute = function(domoticz, triggeredItem)
    		domoticz.log('Timer event was triggered by ' .. triggeredItem.trigger, domoticz.LOG_INFO)
    		local tibberPriceTable = domoticz.globalData.tibberPriceTable
    		
            local function priceNow()
                local Time =require('Time')
                local currentTime = Time()
                
                for key, myEntry in pairs(tibberPriceTable.hourlyData) do --Update hourly data
                    local entryTime = Time(myEntry.startsAt)
                    if entryTime.day == currentTime.day and entryTime.hour == currentTime.hour then
                        domoticz.devices(idxPriceNow).updateCustomSensor(myEntry.total)
                        domoticz.devices(idxPriceLevelNow).updateText(myEntry.level)
                        domoticz.devices(idxPriceRankNow).updateCustomSensor(myEntry.rank)
                        domoticz.devices(idxGridRentNow).updateCustomSensor(myEntry.gridRent)
                        domoticz.devices(idxPriceInclGridNow).updateCustomSensor(myEntry.totalInclGridRent)
                    end
                end
    
                if (triggeredItem.isCustomEvent) or (currentTime.hour == 0) then --update daily stats
                    local awaitingPrices = 'Venter på oppdaterte priser'
                    local txtAverageTomorrow = awaitingPrices
                    local txtStdDevTomorrow = awaitingPrices
                    local txtMinTomorrow = awaitingPrices
                    local txtMaxTomorrow = awaitingPrices
                    local txtLevelTomorrow = awaitingPrices
                    local txtMinInclGridTomorrow = awaitingPrices
                    local txtMaxInclGridTomorrow = awaitingPrices
                    local txtStdDeviationInclGridTomorrow = awaitingPrices
                    local txtPriceAverageInclGridTomorrow = awaitingPrices
    
                    for key, myEntry in pairs(tibberPriceTable.dailyStats) do
                        if currentTime.day == myEntry.myDay then
                            domoticz.devices(idxPriceAverageToday).updateCustomSensor(myEntry.mean)
                            domoticz.devices(idxStdDeviationToday).updateCustomSensor(myEntry.stdDev)
                            domoticz.devices(idxMaxToday).updateCustomSensor(myEntry.maximum)
                            domoticz.devices(idxMinToday).updateCustomSensor(myEntry.minimum)
                            domoticz.devices(idxPriceLevelToday).updateText(myEntry.dailyLevel)
                            domoticz.devices(idxMinInclGridToday).updateCustomSensor(myEntry.minInclGridRent)
                            domoticz.devices(idxMaxInclGridToday).updateCustomSensor(myEntry.maxInclGridRent)
                            domoticz.devices(idxStdDeviationInclGridToday).updateCustomSensor(myEntry.stdInclGridRent)
                            domoticz.devices(idxPriceAverageInclGridToday).updateCustomSensor(myEntry.meanInclGridRent)
    
                        elseif currentTime.addDays(1).day == myEntry.myDay then
                            txtAverageTomorrow = myEntry.mean
                            txtStdDevTomorrow = myEntry.stdDev
                            txtMinTomorrow = myEntry.minimum
                            txtMaxTomorrow = myEntry.maximum
                            txtLevelTomorrow = myEntry.dailyLevel
                            txtMinInclGridTomorrow = myEntry.minInclGridRent
                            txtMaxInclGridTomorrow = myEntry.maxInclGridRent
                            txtStdDeviationInclGridTomorrow = myEntry.stdInclGridRent
                            txtPriceAverageInclGridTomorrow = myEntry.meanInclGridRent
                        end
                    end
                    domoticz.devices(idxPriceAverageTmorrow).updateText(txtAverageTomorrow)
                    domoticz.devices(idxStdDeviationTomorrow).updateText(txtStdDevTomorrow)
                    domoticz.devices(idxMinTomorrow).updateText(txtMinTomorrow)
                    domoticz.devices(idxMaxTomorrow).updateText(txtMaxTomorrow)
                    domoticz.devices(idxPriceLevelTomorrow).updateText(txtLevelTomorrow)
                    domoticz.devices(idxMinInclGridTomorrow).updateText(txtMinInclGridTomorrow)
                    domoticz.devices(idxMaxInclGridTomorrow).updateText(txtMaxInclGridTomorrow)
                    domoticz.devices(idxStdDeviationInclGridTomorrow).updateText(txtStdDeviationInclGridTomorrow)
                    domoticz.devices(idxPriceAverageInclGridTomorrow).updateText(txtPriceAverageInclGridTomorrow)
                end
            end
            
            priceNow()
    	end
    }

     

  3. Får følgende update feil og prisene oppdateres ikke. Har du kjennskap til hva feilen kan være @eiman ?

     

    Update: PriceNow oppdateres som normalt, de andre gjør ikke.

     

    2022-04-03 12:00:00.444 Error: dzVents: Error: (3.1.7) TibberPrices Update devices: An error occurred when calling event handler tibber_update_devices
    2022-04-03 12:00:00.444 Error: dzVents: Error: (3.1.7) TibberPrices Update devices: ...ipts/dzVents/generated_scripts/tibber_update_devices.lua:39: attempt to call a nil value (field 'updateCustomSensor')
     
     
  4. eiman skrev (26 minutter siden):

    Har du opprettet tibberPriceTable i global data som beskrevet?

    return {
    	-- global persistent data
    	data = {
    		tibberPriceTable = {initial = {}},
    		},

     

    Ja, har det 🙂

    Men har ikke opprettet enhetene under Hardware --> Dummy -> Create devices.
    Eller er det en metode for å opprette dem automatisk?

     

     

    EDIT: Opprettet enhetene manuelt og la inn riktig IDX - fungerer som en drøm!

  5. Takk for hjelp. Endret tidspunktet den skal trigges til i kveld. FIkk en liten feilmelding i loggen mot slutten:

     

     

    2022-01-20 21:54:05.374 Status: dzVents: Info: Handling httpResponse-events for: "tibberPrices"
    2022-01-20 21:54:05.374 Status: dzVents: Info: ------ Start internal script: tibber_fetch-prices: HTTPResponse: "tibberPrices"
    2022-01-20 21:54:05.411 Status: dzVents: {"data":{"viewer":{"homes":[{"address":{"address1":"Søndre hytta"},"currentSubscription":{"priceInfo":{"today":[{"total":1.5892,"startsAt":"2022-01-20T00:00:00.000+01:00","level":"CHEAP"},{"total":1.5385,"startsAt":"2022-01-20T01:00:00.000+01:00","level":"CHEAP"},{"total":1.4878,"startsAt":"2022-01-20T02:00:00.000+01:00","level":"CHEAP"},{"total":1.4509,"startsAt":"2022-01-20T03:00:00.000+01:00","level":"CHEAP"},{"total":1.4524,"startsAt":"2022-01-20T04:00:00.000+01:00","level":"CHEAP"},{"total":1.5451,"startsAt":"2022-01-20T05:00:00.000+01:00","level":"CHEAP"},{"total":1.6324,"startsAt":"2022-01-20T06:00:00.000+01:00","level":"NORMAL"},{"total":1.6494,"startsAt":"2022-01-20T07:00:00.000+01:00","level":"NORMAL"},{"total":1.701,"startsAt":"2022-01-20T08:00:00.000+01:00","level":"NORMAL"},{"total":1.6822,"startsAt":"2022-01-20T09:00:00.000+01:00","level":"NORMAL"},{"total":1.659,"startsAt":"2022-01-20T10:00:00.000+01:00","level":"NORMAL"},{"total":1.6549,"startsAt":"2022-01-20T11:00:00.000+01:00","level":"NORMAL"},{"total":1.6186,"startsAt":"2022-01-20T12:00:00.000+01:00","level":"CHEAP"},{"total":1.6073,"startsAt":"2022-01-20T13:00:00.000+01:00","level":"CHEAP"},{"total":1.645,"startsAt":"2022-01-20T14:00:00.000+01:00","level":"NORMAL"},{"total":1.6628,"startsAt":"2022-01-20T15:00:00.000+01:00","level":"NORMAL"},{"total":1.7042,"startsAt":"2022-01-20T16:00:00.000+01:00","level":"NORMAL"},{"total":1.7289,"startsAt":"2022-01-20T17:00:00.000+01:00","level":"NORMAL"},{"total":1.7125,"startsAt":"2022-01-20T18:00:00.000+01:00","level":"NORMAL"},{"total":1.7115,"startsAt":"2022-01-20T19:00:00.000+01:00","level":"NORMAL"},{"total":1.7102,"startsAt":"2022-01-20T20:00:00.000+01:00","level":"NORMAL"},{"total":1.7052,"startsAt":"2022-01-20T21:00:00.000+01:00","level":"NORMAL"},{"total":1.6587,"startsAt":"2022-01-20T22:00:00.000+01:00","level":"NORMAL"},{"total":1.6109,"startsAt":"2022-01-20T23:00:00.000+01:00","level":"NORMAL"}],"tomorrow":[{"total":1.5992,"startsAt":"2022-01-21T00:00:00.000+01:00","level":"CHEAP"},{"total":1.5906,"startsAt":"2022-01-21T01:00:00.000+01:00","level":"CHEAP"},{"total":1.5986,"startsAt":"2022-01-21T02:00:00.000+01:00","level":"CHEAP"},{"total":1.6047,"startsAt":"2022-01-21T03:00:00.000+01:00","level":"NORMAL"},{"total":1.6083,"startsAt":"2022-01-21T04:00:00.000+01:00","level":"NORMAL"},{"total":1.6451,"startsAt":"2022-01-21T05:00:00.000+01:00","level":"NORMAL"},{"total":1.6622,"startsAt":"2022-01-21T06:00:00.000+01:00","level":"NORMAL"},{"total":1.774,"startsAt":"2022-01-21T07:00:00.000+01:00","level":"NORMAL"},{"total":1.8104,"startsAt":"2022-01-21T08:00:00.000+01:00","level":"NORMAL"},{"total":1.8078,"startsAt":"2022-01-21T09:00:00.000+01:00","level":"NORMAL"},{"total":1.8062,"startsAt":"2022-01-21T10:00:00.000+01:00","level":"NORMAL"},{"total":1.7879,"startsAt":"2022-01-21T11:00:00.000+01:00","level":"NORMAL"},{"total":1.7714,"startsAt":"2022-01-21T12:00:00.000+01:00","level":"NORMAL"},{"total":1.8102,"startsAt":"2022-01-21T13:00:00.000+01:00","level":"NORMAL"},{"total":1.7884,"startsAt":"2022-01-21T14:00:00.000+01:00","level":"NORMAL"},{"total":1.8013,"startsAt":"2022-01-21T15:00:00.000+01:00","level":"NORMAL"},{"total":1.8254,"startsAt":"2022-01-21T16:00:00.000+01:00","level":"NORMAL"},{"total":1.8584,"startsAt":"2022-01-21T17:00:00.000+01:00","level":"NORMAL"},{"total":1.8408,"startsAt":"2022-01-21T18:00:00.000+01:00","level":"NORMAL"},{"total":1.7706,"startsAt":"2022-01-21T19:00:00.000+01:00","level":"NORMAL"},{"total":1.7144,"startsAt":"2022-01-21T20:00:00.000+01:00","level":"NORMAL"},{"total":1.682,"startsAt":"2022-01-21T21:00:00.000+01:00","level":"NORMAL"},{"total":1.6746,"startsAt":"2022-01-21T22:00:00.000+01:00","level":"NORMAL"},{"total":1.5997,"startsAt":"2022-01-21T23:00:00.000+01:00","level":"NORMAL"}]}}},{"address":{"address1":"hjemmeadr
    "},"currentSubscription":{"priceInfo":{"today":[{"total":1.5892,"startsAt":"2022-01-20T00:00:00.000+01:00","level":"CHEAP"},{"total":1.5385,"startsAt":"2022-01-20T01:00:00.000+01:00","level":"CHEAP"},{"total":1.4878,"startsAt":"2022-01-20T02:00:00.000+01:00","level":"CHEAP"},{"total":1.4509,"startsAt":"2022-01-20T03:00:00.000+01:00","level":"CHEAP"},{"total":1.4524,"startsAt":"2022-01-20T04:00:00.000+01:00","level":"CHEAP"},{"total":1.5451,"startsAt":"2022-01-20T05:00:00.000+01:00","level":"CHEAP"},{"total":1.6324,"startsAt":"2022-01-20T06:00:00.000+01:00","level":"NORMAL"},{"total":1.6494,"startsAt":"2022-01-20T07:00:00.000+01:00","level":"NORMAL"},{"total":1.701,"startsAt":"2022-01-20T08:00:00.000+01:00","level":"NORMAL"},{"total":1.6822,"startsAt":"2022-01-20T09:00:00.000+01:00","level":"NORMAL"},{"total":1.659,"startsAt":"2022-01-20T10:00:00.000+01:00","level":"NORMAL"},{"total":1.6549,"startsAt":"2022-01-20T11:00:00.000+01:00","level":"NORMAL"},{"total":1.6186,"startsAt":"2022-01-20T12:00:00.000+01:00","level":"CHEAP"},{"total":1.6073,"startsAt":"2022-01-20T13:00:00.000+01:00","level":"CHEAP"},{"total":1.645,"startsAt":"2022-01-20T14:00:00.000+01:00","level":"NORMAL"},{"total":1.6628,"startsAt":"2022-01-20T15:00:00.000+01:00","level":"NORMAL"},{"total":1.7042,"startsAt":"2022-01-20T16:00:00.000+01:00","level":"NORMAL"},{"total":1.7289,"startsAt":"2022-01-20T17:00:00.000+01:00","level":"NORMAL"},{"total":1.7125,"startsAt":"2022-01-20T18:00:00.000+01:00","level":"NORMAL"},{"total":1.7115,"startsAt":"2022-01-20T19:00:00.000+01:00","level":"NORMAL"},{"total":1.7102,"startsAt":"2022-01-20T20:00:00.000+01:00","level":"NORMAL"},{"total":1.7052,"startsAt":"2022-01-20T21:00:00.000+01:00","level":"NORMAL"},{"total":1.6587,"startsAt":"2022-01-20T22:00:00.000+01:00","level":"NORMAL"},{"total":1.6109,"startsAt":"2022-01-20T23:00:00.000+01:00","level":"NORMAL"}],"tomorrow":[{"total":1.5992,"startsAt":"2022-01-21T00:00:00.000+01:00","level":"CHEAP"},{"total":1.5906,"startsAt":"2022-01-21T01:00:00.000+01:00","level":"CHEAP"},{"total":1.5986,"startsAt":"2022-01-21T02:00:00.000+01:00","level":"CHEAP"},{"total":1.6047,"startsAt":"2022-01-21T03:00:00.000+01:00","level":"NORMAL"},{"total":1.6083,"startsAt":"2022-01-21T04:00:00.000+01:00","level":"NO
    2022-01-20 21:54:05.443 Status: dzVents: Info: ------ Finished tibber_fetch-prices
    2022-01-20 21:54:05.443 Error: dzVents: Error: (3.1.7) An error occurred when calling event handler tibber_fetch-prices
    2022-01-20 21:54:05.443 Error: dzVents: Error: (3.1.7) ...cripts/dzVents/generated_scripts/tibber_fetch-prices.lua:97: attempt to call a nil value (field 'initialize')
  6. Takker @eiman - brukte kodesnutten din til å få riktig HomeID. Får prøve på nytt.

     

    Oppdatering:

    Etter at jeg legger inn HomeID og aktiverer HW plugin så går det ca 15 sekunder og jeg får en feilmelding i Domoticz loggen som krasjer Domoticz. Tydeligvis noe rusk som skjer. Muligens får jeg feilsøke noe i retning av å installere websockets.

     

    2022-01-11 11:40:03.417 Error: Tibber: (Tibber) Missing packages
    2022-01-11 11:40:03.417 Error: Tibber: (Tibber) [ModuleNotFoundError("No module named 'websockets'")]
    .
    .
    .
    2022-01-11 11:40:25.440 Error: Domoticz(pid:3689, tid:3768('Plugin_ASIO')) received fatal signal 11 (Segmentation fault)
    2022-01-11 11:40:25.440 Error: siginfo address=0xe69, address=(nil)
  7. Etter at jeg nå har både hytte og hjem i tibber ser det ut til at Tibber plugin-en krasjer når den skal hente prisene. 

     

    Noen som har tips til feilsøk?

     

    Her er logg fra Domoticz.

    2022-01-10 23:30:21.169 Error: Tibber: (Tibber) Missing packages
    2022-01-10 23:30:21.169 Error: Tibber: (Tibber) [ModuleNotFoundError("No module named 'websockets'")]
     
     
  8. Samme her - bare prisene her også.

     

    Dessuten har jeg to Domoticz installasjoner (på rasperby pi). Får kontinuerlig feilmelding i loggen. Noen tips til hva som burde gjøres?

     

    2021-11-29 20:23:34.101 Error: Tibber: (Tibber) 'onHeartbeat' failed 'NameError'.
    2021-11-29 20:23:34.101 Error: Tibber: (Tibber) ----> Line 505 in '/home/pi/domoticz/plugins/Tibber-Domoticz/plugin.py', function onHeartbeat
    2021-11-29 20:23:34.101 Error: Tibber: (Tibber) ----> Line 321 in '/home/pi/domoticz/plugins/Tibber-Domoticz/plugin.py', function onHeartbeat
    2021-11-29 20:23:34.101 Error: Tibber: (Tibber) ----> Line 50 in '/usr/lib/python3.7/asyncio/runners.py', function run
    2021-11-29 20:23:34.101 Error: Tibber: (Tibber) ----> Line 584 in '/usr/lib/python3.7/asyncio/base_events.py', function run_until_complete
    2021-11-29 20:23:34.101 Error: Tibber: (Tibber) ----> Line 308 in '/home/pi/domoticz/plugins/Tibber-Domoticz/plugin.py', function LivePower
    2021-11-29 20:23:40.249 RFLink: Temp (TempKryploft)
    2021-11-29 20:23:44.071 Error: Tibber: (Tibber) 'onHeartbeat' failed 'NameError'.
    2021-11-29 20:23:44.071 Error: Tibber: (Tibber) ----> Line 505 in '/home/pi/domoticz/plugins/Tibber-Domoticz/plugin.py', function onHeartbeat
    2021-11-29 20:23:44.071 Error: Tibber: (Tibber) ----> Line 321 in '/home/pi/domoticz/plugins/Tibber-Domoticz/plugin.py', function onHeartbeat
    2021-11-29 20:23:44.071 Error: Tibber: (Tibber) ----> Line 50 in '/usr/lib/python3.7/asyncio/runners.py', function run
    2021-11-29 20:23:44.071 Error: Tibber: (Tibber) ----> Line 584 in '/usr/lib/python3.7/asyncio/base_events.py', function run_until_complete
    2021-11-29 20:23:44.071 Error: Tibber: (Tibber) ----> Line 308 in '/home/pi/domoticz/plugins/Tibber-Domoticz/plugin.py', function LivePower
    2021-11-29 20:23:50.169 RFLink: Temp (Balkong)
    2021-11-29 20:23:51.750 RPI_Motherboard: General/Percentage (RPI CPU)
    2021-11-29 20:23:51.779 RPI_Motherboard: General/Custom Sensor (Arm Clock Speed)
    2021-11-29 20:23:51.804 RPI_Motherboard: General/Custom Sensor (V3D Clock Speed)
    2021-11-29 20:23:51.822 RPI_Motherboard: General/Custom Sensor (Core Clock Speed)
    2021-11-29 20:23:54.093 Error: Tibber: (Tibber) 'onHeartbeat' failed 'NameError'.
    2021-11-29 20:23:54.093 Error: Tibber: (Tibber) ----> Line 505 in '/home/pi/domoticz/plugins/Tibber-Domoticz/plugin.py', function onHeartbeat

     

  9. Hvilke erfaringer her dere med ulike applikasjon (Raspberry PI) for videoovervåkning?

     

    Jeg benytter i dag Picrellcam på Raspberry PI. Denne synes jeg fungerer MEGET bra på bevegelsesdeteksjon. Denne fungerer slik deteksjonen er vektor-basert, den tar utgangspunkt i elementer i bildet som flytter seg for å identifisere en bevegelse eller ikke. Derfor er det få falske alarmer (vind i trær, snø som daler fra himmelen, skygger fra blomster etc). Brukergrensesnitt er også helt OK, og det er enkelt å rydde opp i videoer etterhvert som disse lagres. Ulempen er at den kun støtter interne Raspberry PI kameraer og ikke USB eller nettverkskameraer. 

     

    Kerberos.io har jeg forsøkt litt. Ser ut til å ha nokså god og intelligent bevegelsesdeteksjon. Støtter USB og nettverkskameraer. Derimot er administrasjonen av tidligere opptak, statistikk og opprydding av videoer i brukergrensesnittet meget dårlig. Kun støtte for et kamera i brukergrensesnittet uten betaling.

     

    MotionEYE har greit brukergrensesnitt for videoer, kan bruke USB og nettverkskameraer - men bevegelsesdeteksjonen er ubrukelig. Trigger kun på endringer i pixels i bildet og man får masse falske opptak (snø, vind, regn etc.). Fungerer nok greit innendørs.

     

    Noen som kjenner til gode (Raspberry PI) apps som har:

     - god (og intelligent) bevegelsesdeteksjon

     - kan håndtere USB og nettverkskameraer

     - greit brukergrensesnitt for å se videoer i etterkant og slette de man ikke ønsker å ta vare på

     

     

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.