abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:44 | Komunita

    PSF (Python Software Foundation) po mnoha měsících práce získala grant ve výši 1,5 milionu dolarů od americké vládní NSF (National Science Foundation) v rámci programu "Bezpečnost, ochrana a soukromí open source ekosystémů" na zvýšení bezpečnosti Pythonu a PyPI. PSF ale nesouhlasí s předloženou podmínkou grantu, že během trvání finanční podpory nebude žádným způsobem podporovat diverzitu, rovnost a inkluzi (DEI). PSF má diverzitu přímo ve svém poslání (Mission) a proto grant odmítla.

    Ladislav Hagara | Komentářů: 4
    dnes 04:55 | Nová verze

    Balík nástrojů Rust Coreutils / uutils coreutils, tj. nástrojů z GNU Coreutils napsaných v programovacím jazyce Rust, byl vydán ve verzi 0.3.0. Z 634 testů kompatibility Rust Coreutils s GNU Coreutils bylo úspěšných 532, tj. 83,91 %. V Ubuntu 25.10 se již používá Rust Coreutils místo GNU Coreutils, což může přinášet problémy, viz například nefunkční automatická aktualizace.

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | IT novinky

    Od 3. listopadu 2025 budou muset nová rozšíření Firefoxu specifikovat, zda shromažďují nebo sdílejí osobní údaje. Po všech rozšířeních to bude vyžadováno někdy v první polovině roku 2026. Tyto informace se zobrazí uživateli, když začne instalovat rozšíření, spolu s veškerými oprávněními, která rozšíření požaduje.

    Ladislav Hagara | Komentářů: 0
    včera 17:11 | Humor

    Jste nuceni pracovat s Linuxem? Chybí vám pohodlí, které vám poskytoval Microsoft, když vás špehoval a sledoval všechno, co děláte? Nebojte se. Recall for Linux vám vrátí všechny skvělé funkce Windows Recall, které vám chyběly.

    Ladislav Hagara | Komentářů: 1
    včera 16:11 | Komunita

    Společnost Fre(i)e Software oznámila, že má budget na práci na Debianu pro tablety s cílem jeho vyžívání pro vzdělávací účely. Jako uživatelské prostředí bude použito Lomiri.

    Ladislav Hagara | Komentářů: 1
    26.10. 17:11 | IT novinky

    Proběhla hackerská soutěž Pwn2Own Ireland 2025. Celkově bylo vyplaceno 1 024 750 dolarů za 73 unikátních zranitelností nultého dne (0-day). Vítězný Summoning Team si odnesl 187 500 dolarů. Shrnutí po jednotlivých dnech na blogu Zero Day Initiative (1. den, 2. den a 3. den) a na YouTube.

    Ladislav Hagara | Komentářů: 4
    26.10. 13:33 | Komunita

    Byl publikován říjnový přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Pracuje se na podpoře M3. Zanedlouho vyjde Fedora Asahi Remix 43. Vývojáře lze podpořit na Open Collective a GitHub Sponsors.

    Ladislav Hagara | Komentářů: 0
    25.10. 15:44 | Zajímavý software

    Iniciativa Open Device Partnership (ODP) nedávno představila projekt Patina. Jedná se o implementaci UEFI firmwaru v Rustu. Vývoj probíhá na GitHubu. Zdrojové kódy jsou k dispozici pod licencí Apache 2.0. Nejnovější verze Patiny je 13.0.0.

    Ladislav Hagara | Komentářů: 0
    25.10. 05:11 | Zajímavý článek

    Obrovská poptávka po plynových turbínách zapříčinila, že datová centra začala používat v generátorech dodávajících energii pro provoz AI staré dobré proudové letecké motory, konvertované na plyn. Jejich výhodou je, že jsou menší, lehčí a lépe udržovatelné než jejich průmyslové protějšky. Proto jsou ideální pro dočasné nebo mobilní použití.

    karkar | Komentářů: 10
    24.10. 19:55 | Nová verze

    Typst byl vydán ve verzi 0.14. Jedná se o rozšiřitelný značkovací jazyk a překladač pro vytváření dokumentů včetně odborných textů s matematickými vzorci, diagramy či bibliografií.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (36%)
     (47%)
     (20%)
     (19%)
     (23%)
     (17%)
     (21%)
     (17%)
     (18%)
    Celkem 279 hlasů
     Komentářů: 14, poslední 14.10. 09:04
    Rozcestník

    Dotaz: Domoticz

    22.4.2019 17:53 Hafajs | skóre: 12
    Domoticz
    Přečteno: 2479×
    Ahoj všichni. Mám domoticz na RPI. Loguji se mi do nej data z různých čidel... jedno z nich je mereni tlaku vody ve studni. Měřím i atmosfericky tlak. Potřeboval bych tyto hodnoty od sebe odečíst. Získat tak po přepočtu jen výšku vodního sloupce. Mohl bych to dělat přímo na cidle (je to realizováno ESPckem), ale veškeré zpracování bych měl raději "pod jednou střechou". Dá se něco podobného zařídit v comoticz, případně jak? Díky

    Řešení dotazu:


    Odpovědi

    22.4.2019 21:18 NN
    Rozbalit Rozbalit vše Re: Domoticz
    Domoticz ma neco jako 'dummy hardware' a 'virtualni senzor' + moznost zpracovavat vlastni Lua skripty. Vydal bych se timto smerem..
    23.4.2019 07:55 Hafajs | skóre: 12
    Rozbalit Rozbalit vše Re: Domoticz
    jj diky, vydal jsem se, jen se vyhybam Lua jazyku a doufal jsem, ze se bez nej obejdu i tady. V Blockly zakladni matematicke operace chybi :( Ccko to asi neumi :(. Ale pri patrani jsem nekde zahledl zasuvne moduly pro Domoticz. Dnes se k tomu zkusim vratit, jestli treba nepribude neco v tomto ohledu.
    23.4.2019 08:49 TechnikTom
    Rozbalit Rozbalit vše Re: Domoticz
    Přívětivější než klasické LUA jsou v Domoticz skripty DzVents. V dokumentaci jsou pro každý typ senzoru popsány dostupné atributy a metody. Pro vážnější práci se bez toho neobejdete, tak doporučuji věnovat trochu času a nastudovat. Já teď dělal čidlo objemu vody v nádrži. Do Domoticz posílám jen vzdálenost hladiny od čidla a stav baterie. Pak jsem vytvořil virtualni čítače příteklé a spotřebované vody ( ze změny hladin, resp. objemu ), ukazatel aktuálního objemu a procentního naplnění nádrže. Využívám i možnost definovat si v Domoticz vlastní uživatelské proměnné pro ukládání časových "mezidat". Má to jen jednu chybu - zatím nepršelo, tak mám otestovány jen věci okolo aktuálního objemu.
    23.4.2019 19:44 Hafajs | skóre: 12
    Rozbalit Rozbalit vše Re: Domoticz
    Díky, podívám se na to. Koukal jsem, ze umi i Python, tak jsem snad zachráněn. Na DzVens jsem zvědavý.
    24.4.2019 13:08 Hafajs | skóre: 12
    Rozbalit Rozbalit vše Re: Domoticz
    Tak jsem zkusil vsechno a nechodi mi ani examplove skripty. :( budu to muset realizovat mimo, na ESPcku a v domoticz jen zobrazovat data.
    24.4.2019 20:20 TechnikTom
    Rozbalit Rozbalit vše Re: Domoticz
    Naházejte flintu do žita :o)

    On je DZVents už v několikáté verzi a oproti příkladům se změnila hlavně sekce "triger" a ta z příkladů většinou nefunguje.

    Dám sem na ukázku skript, který používám u své nádrže já. Taky nejsem žádný programátor a znalec LUA, je to slepené tak jak jsem vypozoroval, že to používají ostatní. Kvůli kontrole a vizualizaci při ladění tam dost používám uživatelské proměnné samotného Domoticzu - určitě by šlo nahradit nějakými perzistentními proměnnými samotného DZVents.

    Tady je popis současné verze DzVents:

    https://www.domoticz.com/wiki/DzVents:_next_generation_LUA_scripting

    Důležitá je zejména Device object API, protože každý senzor má jiný způsob vyčítání a nastavení hodnot.

    Třeba nastavení přírůstku objemu pro čidlo typu "incremental counter" je:

    domoticz.devices('Nadrz_objem_m3').updateCustomSensor(actual_volume)

    Pro čidlo "procenta" zas:

    domoticz.devices('Nadrz_objem_procenta').updatePercentage(actual_percent)

    Aktuální hodnotu čidla vzdálenosti zas získáte voláním:

    domoticz.devices('Nadrz_vzdalenost').distance

    Můj skript je zde ( není tam to přítoku a odtoku ):
    -- Check the wiki at
    -- http://www.domoticz.com/wiki/%27dzVents%27:_next_generation_LUA_scripting
    return {
    
    	-- 'active' controls if this entire script is considered or not
    	active = true, -- set to false to disable this script
    
    	-- trigger
    
    	on = {
    		timer = {
    			-- timer triggers.. if one matches with the current time then the script is executed
    			'every 5 minutes',
    		}	
    	},
    
    	-- actual event code
    	-- in case of a timer event or security event, device == nil
    	execute = function(domoticz)
    	
    		
    		local max_level = 5  -- sensos value for max level in tank
    		local min_level = 110  -- sensor value for min level in tank
    		local actual_volume = 0 -- actual volume in m3
    		local actual_percent = 0   -- actual volume in percent
    		
    		local delta_volume = 22.8245   -- volume for 1cm in tank in litres
    		local DIST_READED = domoticz.devices('Nadrz_vzdalenost')    --aktual distance from sensor
    		local D1 = domoticz.variables('distance_1')                 -- most oldest distance reading
            local D2 = domoticz.variables('distance_2')                 -- middle distance reading
            local D3 = domoticz.variables('distance_3')                 -- last distance reading
            local DIST_LAST = domoticz.variables('last_distance')       -- previous distance calculated
            local DIST_ACTUAL = domoticz.variables('actual_distance')    -- actual calculated distance - - average from distance_1 to distance_3
            local DELTA = domoticz.variables('delta') 
            local d2 = D2.value
            local d3 = D3.value
            local d1 = D1.value
            local distance = DIST_READED.distance
            local distance_prev = DIST_LAST.value
            local pom_pritok = 0
            local pom_spotreba = 0
            local VOLUME = domoticz.variables('volume')
            local VOLUME_PROC = domoticz.variables('volume_proc')
            local OBJEM = domoticz.devices('Nadrz_objem_m3')
            local OBJEM_PROC = domoticz.devices('Nadrz_objem_procenta')
            
            D1.set(d2)                                            -- swap values
            D2.set(d3)
            D3.set(distance)     -- last readings to D3
            
            local distance_actual = math.floor((d2 + d3 + distance ) / 3)
            
    		
    		DIST_ACTUAL.set(distance_actual)             -- smoothing function fro last 3 readings
    		
    		
    		
    		local delta = distance_actual - distance_prev          -- priustek ( zaporny ) , ubytek ( kladny ) v nadrzi
    		DELTA.set(delta)
    		
    		if delta ~= 0 then
    		    if delta > 0 then   -- pritelka voda
    		        pom_spotreba = delta * delta_volume       -- pritok v litrech
    		        
    		    else
    		        
    		        pom_pritok = -1 * ( delta * delta_volume )    -- spotreba v litrech
    		        
    		    end
    		  
    		  DIST_LAST.set(DIST_ACTUAL)     -- actual calculated distance to previous distance calculated
    		  
    
            end
        
              actual_volume = delta_volume * (min_level - distance_actual) / 1000
    		  actual_percent = (actual_volume * 1000 / (( min_level - max_level ) * delta_volume )) * 100
    		  
    		  VOLUME.set( actual_volume )
    		  VOLUME_PROC.set( actual_percent )
    		  
    		  OBJEM.updateCustomSensor(actual_volume)
    		  OBJEM_PROC.updatePercentage(actual_percent)
    		  
           
    	end
    }
    
    
    Použitá čidla a Domoticz proměnné zde:

    24.4.2019 20:29 TechnikTom
    Rozbalit Rozbalit vše Re: Domoticz
    Příloha:
    A tady máte skript, který se naopak spustí při změně hodnoty čidla.

    Konkrétně v mém případě posílá při změně nastavení prvku "setpoint" pro termostat jeho hodnotu jako event do ESPEASY.
    -- Check the wiki at
    -- http://www.domoticz.com/wiki/%27dzVents%27:_next_generation_LUA_scripting
    return {
    
    	-- 'active' controls if this entire script is considered or not
    	active = true, -- set to false to disable this script
    
    	-- trigger
    	-- can be a combination:
    	on = {
    		devices = {
    			-- timer triggers.. if one matches with the current time then the script is executed
    			'Koupelna_Setpoint'
    		}
    	},
    
    	-- actual event code
    	-- in case of a timer event or security event, device == nil
    	execute = function(domoticz, device)
    		
                local url= 'http://192.168.1.107/control?cmd=event,HeatSetpoint='..(device.state)..''
                print(url)
                domoticz.openURL(url)
          
            
    	end
    }
    
    26.4.2019 12:16 Hafajs | skóre: 12
    Rozbalit Rozbalit vše Re: Domoticz
    Diky moc za snahu i slova podpory :). Na tech strankach jsem byl, ale nevenoval jsem potrebnou pozornost verzi kterou mam 2.4.6. Jeste jeden dotaz bych mel. Jak, pripadne kde bych nasel, jak se priradi promenne hodnota z tlakoveho cidla? Zda se, ze vycteni hodnot se lisi podle typu veliciny (cidla). Snad vsechny priklady jsou o prepinacich. Diky
    26.4.2019 19:59 TechnikTom
    Rozbalit Rozbalit vše Re: Domoticz
    Tlakové čidlo nepoužívám, tak vlastní zkušenosti nemám, ale zmiňovaný odkaz praví:
    Barometer sensor
    
        barometer. Number. Barometric pressure.
        forecast: Number.
        forecastString: String.
        updateBarometer(pressure, forecast): Function. Update barometric pressure. Forecast can be domoticz.BARO_STABLE, BARO_SUNNY, BARO_CLOUDY, BARO_UNSTABLE, BARO_THUNDERSTORM.
    
    Já bych tedy použil:

    local hodnota_cidla = domoticz.devices('Moje_cidlo_tlaku').barometer

    Nebo použít univerzální API pro všechny typy sensorů:
    Device attributes and methods for all devices
    
        active: Boolean. Is true for some common states like 'On' or 'Open' or 'Motion'. Same as bState.
        batteryLevel: Number If applicable for that device then it will be from 0-100.
        bState: Boolean. Is true for some common states like 'On' or 'Open' or 'Motion'. Better to use active.
        changed: Boolean. True if the device was changed
        description: String. Description of the device.
        deviceId: String. Another identifier of devices in Domoticz. dzVents uses the id(x) attribute. See device list in Domoticz' settings table.
        deviceSubType: String. See Domoticz devices table in Domoticz GUI.
        deviceType: String. See Domoticz devices table in Domoticz GUI.
        dump(): Function. Dump all attributes to the Domoticz log. This ignores the log level setting.
        hardwareName: String. See Domoticz devices table in Domoticz GUI.
        hardwareId: Number. See Domoticz devices table in Domoticz GUI.
        hardwareType: String. See Domoticz devices table in Domoticz GUI.
        hardwareTypeValue: Number. See Domoticz devices table in Domoticz GUI.
        icon: String. Name of the icon in Domoticz GUI.
        id: Number. Index of the device. You can find the index in the device list (idx column) in Domoticz settings. It's not truly an index but is unique enough for dzVents to be treated as an id.
        idx: Number. Same as id: index of the device
        lastUpdate: Time Object: Time when the device was updated.
        name: String. Name of the device.
        nValue: Number. Numerical representation of the state.
        rawData: Table: All values are String types and hold the raw data received from Domoticz.
        setDescription(description): Function. 2.4.16 Generic method to update the description for all devices, groups and scenes. E.g.: device.setDescription(device.description .. '/nChanged by '.. item.trigger .. 'at ' .. domoticz.time.raw). Supports command options.
        setIcon(iconNumber): Function. 2.4.17 method to update the icon for devices. Supports command options.
        setState(newState): Function. Generic update method for switch-like devices. E.g.: device.setState('On'). Supports command options.
        setValues(nValue,[ sValue1, sValue2, ...]): Function. 2.4.17 Generic alternative method to update device nValue, sValue. Uses domoticz JSON API to force subsequent events like pushing to influxdb. nValue required but when set to nil it will use current nValue. sValue parms are optional and can be many.
        state: String. For switches, holds the state like 'On' or 'Off'. For dimmers that are on, it is also 'On' but there is a level attribute holding the dimming level. For selector switches (Dummy switch) the state holds the name of the currently selected level. The corresponding numeric level of this state can be found in the rawData attribute: device.rawData[1].
        signalLevel: Number If applicable for that device then it will be from 0-100.
        switchType: String. See Domoticz devices table in Domoticz GUI (Switches tab). E.g. 'On/Off', 'Door Contact', 'Motion Sensor' or 'Blinds'
        switchTypeValue: Number. See Domoticz devices table in Domoticz GUI.
        timedOut: Boolean. Is true when the device couldn't be reached.
        unit: Number. Device unit. See device list in Domoticz' settings for the unit.
        update(< params >): Function. Generic update method. Accepts any number of parameters that will be sent back to Domoticz. There is no need to pass the device.id here. It will be passed for you. Example to update a temperature: device.update(0,12). This will eventually result in a commandArray entry 
    
    local hodnota_cidla = domoticz.devices('Moje_cidlo_tlaku').nValue

    27.4.2019 08:49 TechnikTom
    Rozbalit Rozbalit vše Re: Domoticz
    Mozná popužíváte čidlo typu Pressure, tak pak by to bylo:
    Pressure
    
        pressure: Number.
        updatePressure(pressure): Function.
    
    local hodnota_cidla = domoticz.devices('Moje_cidlo_tlaku').pressure
    28.4.2019 09:00 Hafajs | skóre: 12
    Rozbalit Rozbalit vše Re: Domoticz
    Díky za podporu. Teď jsem mimo náš krásný stát, ale koncem týdne se do toho pustím.
    30.4.2019 12:28 reb
    Rozbalit Rozbalit vše Re: Domoticz
    Čistě pro zajímavost, jaké čidlo používáte a jak ho máte zapojené/připojené?
    13.5.2019 13:22 Hafajs | skóre: 12
    Rozbalit Rozbalit vše Re: Domoticz
    Je to BME280 na I2C sbernici.
    14.5.2019 16:17 TechnikTom
    Rozbalit Rozbalit vše Re: Domoticz
    Jak máte hlubokou nádrž?

    Dnešní dny je tlak vzduchu 1030 hPa

    BME280 má měřící rozsah 300 - 1100 hPa

    Takže v tyto dny naměříte max. rozdíl 70 hPa což činí jen 70cm.

    Pokud tedy uvažuji správně.

    Nebo musíte počítat s nižší přesností čidla v rozsahu 1100 - 1250 hPa
    16.5.2019 15:10 Hafajs | skóre: 12
    Rozbalit Rozbalit vše Re: Domoticz
    Spravne. Studna je hluboka od okraje skruze 6m, vodni sloupec je po zime 3m. Cidlo je 1m pod hladinou prave proto, abych se nedostal mimo rozsah a pri intenzivnim mnohahodinovem cerpani je prubeh poklesu zhruba takovy, ze za 45 min klesne o 50cm (pak se drzi na stejne hodnote, stiha dotekat) a po ukonceni cerpani se skoro stejne dlouho vraci do normalu. Jen to nechci prepocitavat "rucne" na cm. Da se nekde dohledat, jak se oznacuji cidla a jejich hodnoty v LUA v domoticz? Taky jsem dohledal diskusi, kde resi pridani matematiky do blockly, ale zda se, ze to nikomu nefunguje :D :(
    19.5.2019 20:06 TechnikTom
    Rozbalit Rozbalit vše Re: Domoticz
    Vše ohledně označení čidel a jejich hodnot je v tom odkazu co jsem uváděl výše.
    21.5.2019 14:48 Hafajs
    Rozbalit Rozbalit vše Re: Domoticz
    Tak tedy jeste jednou diky vsem. Vzhledem k tomu, ze na odkazovanych strankach je motano dohromady LUA s dzVents, nikde neni popsan zpusob znaceni jednotlivych prvku a jeste se to asi bude lisit verze od verze i do budoucna, uzaviram tento pokus s tim, ze nema vyznam ztraces s tim cas. Potrebne vypocty mi provede ESP na strane cidel (uprava na minutu) a do domoticz mi prijdou uz hodnoty v centimetrech. Vsem zucastnenym dik za snahu.
    21.5.2019 16:26 filip
    Rozbalit Rozbalit vše Re: Domoticz
    Dalsi moznost je pouzit node-red + mqtt gateway nainstalovane na tom samem raspberry-pi. Domoticz umi odesilat/prijimat data z MQTT. Node-red zase umi prijimat + zpracovavat + odesilat data na MQTT. https://www.sigmdel.ca/michel/ha/domoticz/domoticz_add_mqtt_en.html

    Vyhoda je, ze odesilat data na MQTT umi skoro kazde zarizeni, ja mel takhle exportovana data z 3d tiskarny do domoticz pres node-red a mqtt.
    Řešení 1× (Hafajs (tazatel))
    21.5.2019 21:18 TechnikTom
    Rozbalit Rozbalit vše Re: Domoticz
    DzVents je jen lidštější verze LUA ( viz nadpis - DzVents: next generation LUA scripting ) Zjednodušuje hlavně parametry pro nastavení podmínek spuštění skriptu.

    Jinak objekty a práce se senzory je pro obě verze stejná.

    Popsané je to tam myslím srozumitelně a navíc pro každý typ senzoru zvlášť.

    Co je za vědu dle toho pak provést:

    local rozdil = domoticz.devices('Cidlo_po_vodou').barometer - domoticz.devices('Cidlo_venku').barometer

    domoticz.devices('Hloubka').updateDistance(rozdil)

    'Cidlo_po_vodou' a 'Cidlo_venku' jsou názvy čidel tlaku, které jste zadal v Domoticz při jejich vytváření.

    'Hloubka' je název dummy senzoru vzdálenosti vytvořeném v Domoticz pro zobrazení hloubky.

    Pokud máte pravidelný tvar nádrže, snadno pak můžete vypočítat objem vody a uložit do dummy senzoru ( typ custom s ozmačením jednotek m3 ) příkazem:

    domoticz.devices('Objem_nadrze').updateCustomSensor(spocitany objem)

    Případně objem nádrže v procentech s využitím senzoru procent:

    domoticz.devices('Objem_v_procentech').updatePercentage(aktualni objem / maximalni objem * 100)

    Když chcete akci provést každých pět minut, tak na začátek skriptu dáte:

    return {

    active = true, -- set to false to disable this script

    on = {

    timer = {

    'every 5 minutes',

    }

    },

    execute = function(domoticz)

    Pokud naopak chcete provést při změně hodnoty:

    return {

    active = true, -- set to false to disable this script

    on = { devices = { 'Loznice_Setpoint'

    }

    },

    execute = function(domoticz, device)

    Třeba sepnutí spínače na dobu 5 minut je s DzVents jednoduché jak facka, v porovnání s počítáním uplynulého času v klasické LUA.

    domoticz.devices('Muj_casovy_spinac').switchOn().forMin(5)

    Bez využití skriptů budete Domoticz používat tak na 20% toho, co umí.

    23.5.2019 10:24 Hafajs
    Rozbalit Rozbalit vše Re: Domoticz
    Tak takhle to tam tedy nemaji :) mohou se od Vas ucit. Na WiKi mi to prijde strasne zmatecne. Jeste se k tomu tedy vratim. Diky
    23.5.2019 21:00 Hafajs | skóre: 12
    Rozbalit Rozbalit vše Re: Domoticz
    Beha jak ma a konecne jsem pochopil syntaxi. Diky

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.