Majordomo'da komut dosyasından yöntem nasıl çalıştırılır. BinbaşıDoMo

Yeni başlayanların çoğu MajorDoMo ile arkadaşlık kuramıyor çünkü bu sistem ilk bakışta onlara oldukça karmaşık geliyor.Aslında MajorDoMo'nun yapısı çok basit. Tüm "karmaşıklığı", yalnızca kolaylık sağlamak için uygulanan kod depolama konumlarının çoğaltılmasından başka bir şey değildir.

Buna daha yakından bakmaya çalışalım. Yaptığımız her şey çoğunlukla PHP kodu kullanılarak uygulanır. Sırasıyla, hem temel işlevlerden hem de az sayıda MajorDoMo'nun kendi komutlarından oluşur.

Anlama ve uygulama kolaylığı için kodu farklı yerlere yerleştirebilirsiniz. Anlamak için, bu yaklaşıma basit bir örnek vereceğim. Hem menüdeki bir düğmeye basarak hem de sesli komutla kesinlikle aynı kodu çalıştırmamız gerektiğini varsayalım. Bu kodu direkt olarak hem menü butonuna hem de sesli komuta yazabiliriz. Zahmetli değil mi? Ya da onu bir betik içine koyabilir ve sonra bu betiği kesinlikle herhangi bir yerden tek bir satırla çağırabiliriz. Aslında, bu görünen karmaşıklığın tüm sırrı budur. 🙂

Dolayısıyla basit formül. Bazı kodların tek bir yerden çalıştırılması planlanıyorsa, onu doğrudan nereden yazarız ve çalıştırırız. En az iki yerden erişmeniz gerekiyorsa, senaryoyu zaten düşünmelisiniz.

Kod için bu yerler nerede?

  • Eh, elbette bu senaryolar. (Yönetim Menüsü/Nesneler/Komut Dosyaları ).
  • yöntemler (Yönetim menüsü/NESNELER/Nesneler ), daha sonra daha ayrıntılı olarak tartışacağım.
  • Menü (Yönetim Menüsü/Nesneler/Kontrol Menüsü ).
  • Ses kontrolü (Yönetim Menüsü/OBJELER/Davranışlar ).
  • Bina planında görsel kontrol (Yönetim Menüsü/OBJELER/Sahneler ).
  • Web Sayfalarından Veri Çıkarma (Ayrıştırma) (Yönetim Menüsü/Nesneler/Web Değişkenleri ).

Aslında, çoğunlukla, hepsi bu ve sınırlıdır. Diğer her şey sezgiseldir ve anında kavrar.

Senaryolar.

Senaryolar ile her şey açıktır. Bunlarda, farklı yerlerden yürütmek istediğimiz kodu yazıyoruz.

Menü, Sesle Kontrol ve Sahneler.

İçlerinde en değerli göstergeleri, düğmeleri, anahtarları, düzenleyicileri yazıyoruz ...

Şunlar yazılabilir:

  1. Tüm kod.
  2. Komut dosyasına doğrudan geçiş (listeden önceden hazırlanmış bir komut dosyası seçerek).
  3. Karışık tip (örneğin, doğrudan bir düğmede bir kod parçası çalıştığımızda, örneğin göstergesi, ardından komut dosyasına gidin ve içinde yazılanları yapın).

Ayrıştırma.

Çoğunlukla, burada ayrıştırma, gerekli metin parçasının başlangıcını ve sonunu ayarlayarak ağda sunulan diğer kişilerin sayfalarından veri çekmektir. PHP burada oldukça yardımcı bir rol oynar ve nispeten nadiren kullanılır.

İşte bir örnek. Diyelim ki siteden sıcaklığı almanız gerekiyor, şartlı olarak "Tahmin". İhtiyacımız olan metin parçasının başlangıcını ve sonunu belirtmek için özel karakterler kullanırız (mevcut sıcaklığın numarası olsun). Ayrıca tarafımızca belirlenen belirli bir frekans ile bu numara okunur ve mülke yazılır. Daha sonra mülkler hakkında daha fazla bilgi. Şimdilik, okunan şeklin değişene kadar bizimle belirli bir yerde saklandığını bilin. Olur olmaz, rakam bu yerde (mülk) değişecektir. Özelliğe kaydedilen parametreyi (sıcaklık rakamı) gerekli şekilde işliyoruz. Menü için, görüntülenen sayıdan önce kelimeleri eklediğimizi varsayalım: “Sokakta: " ve daha sonra "°C » .

İşte kodda nasıl göründüğü:Dış Mekan: %ThisComputer.Sinoptik_temp%°C

Sokakta: ve°C bu sadece metin.

ANCAK:BuBilgisayar.Sinoptik_temp sadece bizim mülkümüz, neredeBu bilgisayar bu bir sınıf veSinoptik_temp bu sınıfın bir özelliğidir ve nokta sınırlayıcı olarak kullanılır. Tüm bunları aşağıda okuyarak anlayacaksınız. Ah evet, % menü için sınırlayıcıdır, tırnak işaretleri genellikle kodda kullanılır.

Sonuç olarak menümüzde her zaman siteden güncel sıcaklığı görüyoruz.

nesneler.

Ve son olarak, hala nesnelerimiz var, tam da özelliklerimizin bulunduğu yer ve sadece bu yer değil. Nesneler de ilk bakışta karmaşık bir şey gibi görünüyor. Ama bu sadece ilk bakışta. 🙂

Bir obje bu bir şeyin temsilidir, örneğin: bir bilgisayar (yukarıdaki örnekte olduğu gibi) veya bir çalar saat veya bir zamanlayıcı veya hatta Skype ... Genel olarak, herhangi bir şey.

Birçok özdeş nesne olabilir. Örneğin. Sistemi nasıl gördüğümü yazdığımda hatırlayın, iç ve dış üniteleri olan bir meteoroloji istasyonumuz olacağını söylemiştim. Böylece, her iki blok da tamamen aynı ESP-12 modüllerine monte edilmiştir. Her biri bir nesnedir ve bütünlükleriSınıf . Burada da her şey kolaylık sağlamak ve gereksiz yazıların dışlanması için yapılır, daha iyi anlayacaksınız.

Buradaki yapı aşağıdaki gibidir:

1. Sınıf özdeş cihazlar, koşullu olarak ESP diyelim (örnek olarak ESP modüllerini aldığımız için).

1.1. Busınıf ayarlayabilirsinözellikleri (eğer basit bir şekilde, ayarlayaraksınıf ESP Emlakhava sıcaklığı otomatik olarak hepimizin içinde görüneceksınıf nesneleri ESP , yani oluşturmak gerekli olmayacakEmlak , her birinenesne ).

1.2 Busınıf , ayrıca ayarlayabilirsinizyöntemler (yani, bazı kodların yürütülmesi, bunlaryöntemler aynı şekildeözellikleri hepimizin içinde görünürnesneler ).

1.3. Ve nihayet, tabii ki,sınıf oradanesneler . Bunlar zaten doğrudan fiziksel ESP'lerimizdir: ESP-12 No. 1, ESP-12 No. 2, vb.

Herkesbir obje (ESP-12 #1, ESP-12 #2, vb.), sırayla kendiözellikleri veyöntemler .

Özellikler iki tiptir. sınıf özellikleri ve nesne özellikleri farkları, sınıfta kaydedilen özelliklerin tüm yeni nesnelerde otomatik olarak görünmesi ve nesneye eklenen özelliklerin yalnızca onun içinde olması gerçeğinde yatmaktadır. Bu, bir yandan gereksiz yazılardan kurtulmak, diğer yandan bireysel özellikleri. yöntemler yalnızca sınıfta oluşturulur ve yalnızca nesnede zaten kayıtlıdır.

Bir örnekle açıklayacağım:

Diyelim ki ESP-12 #1 ve ESP-12 #2 var. Her ikisinde de sıcaklığı ölçmemiz gerekiyor, ancak buna ek olarak, ilkinde nemi de ölçmemiz ve ikincisini röleyi kontrol etmek için kullanmamız gerekiyor.

YapmakSınıf ESP , içine yazıyoruzEmlak Hava sıcaklığı . Hem ESP-12 #1 hem de ESP-12 #2 özelliklerinde otomatik olarak görünecektir. Ayrıca doğrudan, ESP-12 No. 1 için, zaten kendiözellikleri , biz reçeteNem . ATözellikleri aynı, ESP-12 No. 2 Rölesini kaydediyoruz. Sonuç olarak, sistemin sıcaklık ve nem değerlerini kaydedeceği özelliklere sahip ESP-12 No. 1 ve sistemin sıcaklık değerini ve röle durumunu kaydedeceği özelliklere sahip olan ESP-12 No. 2'ye sahibiz. (0-Kapalı, 1-Açık). Ve buna göre, yöntemler bu verileri işlememize yardımcı olacak, buna ihtiyaç varsa, sınıfta başlatacağız. ESP, ve biz zaten her nesne için onlara kodu kişisel olarak yazacağız.

Unutulmamalıdır ki metotlar her yerden çağrılabilir. callMethod("Object.Method", $params); veya alternatif cm cm("Nesne.Yöntem", $params);. Özellikler ayrıca küreseldir ve her yerden çağrılabilir. sg(setGlobal) ve gg (getGlobal) işlevleri tam da bunu yapar. Örneğin satır:getURL(gg('AlarmOne.UrlAlarmRing'),0); mülkte depolanan bağlantıyı açacakAlarmOne.UrlAlarmRing

Şimdi emin olun, MajorDoMo'nun nasıl çalıştığını anlamak için her şeye sahipsiniz.

Bunu somut bir örnekle düzeltelim:

Firmware'i wifi-iot.com'dan ESP-12 modüllerimiz #1 ve #2'ye yükledik. Birincisi sıcaklık ve nemi okur, ikincisi sıcaklığı okur ve röleyi kontrol eder. Her iki ESP-12, alınan verileri özelliklere ayrıştıran bir komut dosyası tarafından alındıkları düzenli aralıklarla MajorDoMo'ya veri gönderir. Ve son olarak, bu verileri mülklerden alıyoruz ve kendi takdirimize bağlı olarak kullanıyoruz, yani gerekli mülkü zaten gösterilmesi veya uygulanması gereken yere yerleştiriyoruz.

Örneğin sokak ve oda sıcaklıklarını belirli bir senaryoda işleyerek akıllı termostat elde ediyoruz.

Ayrıca aynı özelliklerden aynı sıcaklığı alıp menüde veya görsel sunum için sahnede sergiliyoruz.

Ve sabah, Alarm Clock nesnesinden başlatılan yöntem bizim için bir komut dosyası başlatacak ve sonunda uyanıp melodiyi kapattıktan sonra mevcut hava raporunu bize sesli olarak okuyacaktır. Ve sence sıcaklık ve nem rakamlarını nereden alıyor? Aynen, özelliklerden!

Ve bu seçeneklerden istediğiniz kadarını oluşturabilirsiniz, yeterli hayal gücünüz olduğu sürece, burada söz verdiğim esnekliğe sahipsiniz.

Sıradaki ne?

Artık MajorDoMo'nun yapısını anladığınıza göre, size MajorDoMo'da cihazların etkileşimini göreceğimiz HDMI matrisinden bahsedeceğim. Ve son olarak, kodlar, resimler, diyagramlar ve diğer zevklerle daha ciddi bir sunuma geçeceğim ... Genel olarak, yeterince çıplak teori, şimdi çoğunlukla pratik olacak.

Yani HDMI 4×2 matrix 4K x 2K 3D.

    Hemen söylemeliyim ki, resimleri bir akıllı telefonda bile sayfa yönünde görüntülenebilecek şekilde olabildiğince daraltmaya çalışıyorum, ancak bu her zaman işe yaramıyor 🙁 . Yorumların metninin sınırları aştığını görürseniz, akıllı telefonu yan çevirin (Yatay yönlendirme), akıllı telefonlar, farklıdırlar.

    Blogumu analiz ederken, aşağıdakiler gibi birkaç arama sorgusu ile karşılaştım: - menu.html veya Scene.html dosyası nerede? vb.
    Bu tür soruların cevapları, onlara ayrı bir blog ayırmak için çok basit. Bu nedenle, yorumlarda onlara cevap vereceğim.
    Varsayılan olarak, terminalin görünümünü oluşturan tüm dosyalar /templates klasöründe bulunur; zaten kurulu bir üçüncü taraf dış görünümünüz varsa, bu dosyalar /templates_alt klasöründe aranmalıdır. /templates_alt klasörü /templates klasöründen daha yüksek önceliğe sahiptir ve içindeki her şey önce işlenir. İçinde bir şey eksikse, motor eksik olan için /templates klasörüne döner. Muhtemelen, yukarıdakilere dayanarak, MajorDoMo'ya kendi şablonunuzu (skin) koyacaksanız, /templates_alt klasörünü (henüz oluşturulmadıysa) oluşturmalı ve tüm deneyleri içinde gerçekleştirmelisiniz. O. Bu, herhangi bir arıza durumunda varsayılan olarak aldığınız hiçbir şeyi kaybetmemenizi sağlayacaktır.

    Bir de şu istek vardı: -MajorDoMo veri kabul etmiyor...
    MajorDoMo, genellikle bu verileri alan veya okuyan bir tür komut dosyası yürüterek verileri alır ve ardından komut dosyası, ihtiyacınız olan verilerin daha sonra okunacağı ve kullanılacağı bu özellik için hazırladığınız özelliklere yerleştirir. Bu komut dosyaları genellikle çalıştırılır; Ya dışarıdan, üçüncü taraf bir sunucudan (diyelim ki, veri göndererek komut dosyasını başlatan ESP8266'da olduğu gibi esp veri), biz böyle alırız veriler (bu arada, yakın gelecekte, tüm bunları size meteoroloji istasyonu hakkındaki makalemde daha ayrıntılı olarak anlatacağım). Veya bir zamanlayıcıda düşünmek her yerden veri. Hazır mekanizmalar var, örneğin, hedef sayfayı belirli bir frekansta sorgulayan Web değişkenlerine benzer bir tane yerleştirildi. Açıklanan durumda, frekans alanında belirtilir. Kontrol aralığı, belirli bir web değişkeni. Örneğin, gün doğumu ve gün batımı zamanını bu şekilde elde ederiz. Web değişkeni, bazı hava durumu sitelerinden zaman değerini alır, özelliğe yazar ve daha sonra, zaten yöntemde, işleme gerçekleştiririz (başka bir deyişle, şimdiki zamanı gün batımı zamanı ile karşılaştırırız), bunun sonucunda Alice, tam zamanında, bize - Güneş batıyor. ve gerekirse, herhangi bir eylemi gerçekleştirir veya 🙂 ihtiyacımız olan komut dosyasını başlatır.
    Bu nedenle, MajorDoMo herhangi bir veri kabul etmiyorsa, her şeyden önce, bundan sorumlu bir komut dosyası veya kaynak (örneğin, bir web değişkeni durumunda olduğu gibi) bulmaya ve performansını kontrol etmeye değer. Bunun için, komut dosyasının temel lansmanından, doğrudan ayarlarından, ayarları sayfasında belirtilen bağlantıya tıklayarak ve örneğin web'de mevcut olduğu gibi günlüklerin analizine kadar tüm mekanizmalar sağlanır. değişkenler.

    Ve son olarak, gördüğüm üçüncü istek: -MajorDoMo basit nesneler
    Burada sorgunun biraz yanlış oluşturulduğunu belirtmekte fayda var. Aslında buna rağmen nesne her şey olabilir, son zamanlarda sisteme ek bir konsept eklendi: Basit Cihazlar. Bu, yeni başlayanlar için hayatı kolaylaştırmak için yapıldı. Dürüst olmak gerekirse, çalıştığım gerçeğinden dolayı henüz kullanmadım, sadece aynı nesneler seviyesinde. Ancak küçük adamı doğru yola yönlendirmek için: (Basit Cihazlar) kelimenin tam anlamıyla saniyeler içinde olabilir. Bu yüzden kayıt olmaktan ve yorumlarda sormaktan çekinmeyin. Her durumda, onları arama sorgularını analiz etmekten çok daha sık değerlendiriyorum.

    Oturuyorum, sessizce çaydanlık hakkında bir makale yazıyorum, ama kendimi yıkıyor, metriğe bakın. Vazgeçtim ve bakmaya karar verdim. Ve başka bir arama sorgusu görüyorum: - MajorDoMo veritabanı yapısı
    Başlangıçta kişinin özellikle ne istediğini bilmeden, bu soruyu hemen cevaplamak zordur. Sistem dolduğunda yapı herkes için farklı olacak, birileri şu ya da bu modülü, şu ya da bu uygulamayı kuracak ve birinin buna ihtiyacı olmayacak ... Sırasıyla tablolar da tipik alanlardan uzak. Bu nedenle, bu aşamada listemi vereceğim ve orada, herhangi biri belirli bir şeyle ilgileniyorsa, sor ve bakacağız.

    Rica etmek: Bir özelliğe değer nasıl yazılır?
    Cevap: Çoğu durumda, özellikteki değer otomatik olarak yazılır, ancak manuel olarak da yapılabilir. Broadlink SP3 soketi ile ilgili makaleyi okuyun ve bir daha asla böyle sorularınız olmayacak.

    Rica etmek: MajorDoMo, web sıcaklık değişkenleri?
    Cevap: İlk bakışta en zor olanı, yani filtreleme hakkında bir fikir vermek için muhtemelen Web değişkenlerine ayrı bir makale ayrılacaktır. Şimdiye kadar, belirli bir soruya belirli bir cevap.
    Stabilitesi ve sabitliği nedeniyle mevcut sıcaklığı Forecaster sitesinden alacağız.
    ile bir web değişkeni oluşturun İsim: Sinoptik_temp
    AT Bağlantı yazıyoruz: https://sinoptik.com.ru/weather-Volgograd Senin durumunda, Volgograd senin şehrine dönüştü.
    AT Arama düzeni:

    İlgili nesne: Bu bilgisayar
    Mülk: Sinoptik_temp bu özelliğin This Compuer nesnesinde oluşturulması gerekir (bu makaleyi ve SP3 soket makalesini okuyun).
    Kontrol aralığı: 600
    Hepsi bu, şimdi her 10 dakikada bir Mzhor, şehrinizdeki mevcut sıcaklığı Tahminciden okuyacak ve Sinoptik_temp özelliğine yazacak, bununla ne istersen yapabilir, komut dosyalarında görüntüleyebilir, vb ...

    Rica etmek: MajorDoMo, güneş batıyor mu?
    Cevap: MajorDoMo'da Gece Modu ve Karanlık Mod olmak üzere iki mod vardır. Gece modu, saat bazında, varsayılan olarak 20:00 ile 8:00 arasında açılır. Bu mod, örneğin sesli duyuruyu kapatmak için çok uygundur. Modu, Günün karanlık saati, gün batımında açılır ve gün doğumunda kapanır, bu mod örneğin sokak aydınlatmasını kontrol etmek için uygundur. Yerelliğe özgü veriler, Web Değişkenleri uygulanarak elde edilir. Bunlar daha sonra ThisComputer.SunRiseTime ve ThisComputer.SunSetTime özelliklerinde depolanır ve Timer sınıfının onNewMinute yönteminde işlenir.

    Rica etmek: MajorDoMo küresel değişkenler?
    Cevap: gg (getGlobal) ve sg (setGlobal) işlevleri kendileri için konuşurlar ve değişme eğiliminde oldukları gerçeği göz önüne alındığında özelliklerimiz aynı küresel değişkenlerdir. Diyelim ki elimizde belli bir senaryo var ve özellik ile ilgili bir şeyler yapmamız gerekiyor, diyelim ki termostatın eşik sıcaklığını değiştirelim. getGlobal işlevini kullanarak, özelliğin değerini betiğimize alıyoruz ve yerel bir değişkene yazıyoruz, şöyle olsun: $temp_term. Bu yerel değişkenle, betiğimizde zaten ihtiyacımız olan dönüşümleri yapıyoruz ve son olarak, setGlobal işlevini kullanarak değiştirilen $temp_term durumunu özelliğe geri yazıyoruz. Malla, zaten bildiğimiz gibi, istediğimizi yapabiliriz. Örneğin değerini ekranda göster, fiziksel bir termostata gönder, hatta sistemin hoparlörlerinden konuş... Bu arada, global değişkenlerden bahsetmişken, sistemin yerleşik fonksiyonlarına da değinmekte fayda var. Tamamen sistem için uygulanan belirli bir dizi fonksiyon ve değişken olduğu unutulmamalıdır. Çoğu zaman PHP ile çalıştığımızdan bahsetmiştim, ama aynı zamanda yerleşik bir şey de var mı? Yerleşik işlevleri görebilirsiniz. Ve baktığınızda, “Döngülerin (hizmetlerin) yönetimi” maddesine dikkat edin, orada yerleşik bir global değişkenle karşılaşacaksınız ve metodolojinin her yerde aynı olduğunu anlayacaksınız.

    Rica etmek: Değişkenden MajorDoMo html blok kullanım değeri?
    Cevap: Örneğin şunu yapıyorum: Dış mekan: %ESP8266003b5df7.dhtt1%°C(yani, klavyeden ° sembolünü yazarım) ve ardından düzen saçmalıktır. Derece sembolü ALT + 0176 olarak ayarlanır, sayılar klavyenin sayısal kısmına yazılır (WIKEPEDIA BAĞLANTISI).
    Bazıları şöyle şeyler yapar:
    %KitchenMain.dhtt1%°C ve sonra koymak zorundasın C münhasıran İngilizce düzeninde. Şahsen ben denemedim ama şöyle denildi: (FORMA BAĞLANTI).
    Dikkat! Herhangi biri kopyala-yapıştır yapmaya karar verirse: %KitchenMain.dhtt1%°C burada blogda bir derece sembolü olarak değil, &derece; İngilizce harfi karakter kodunda değiştirdim e Rusça'ya geri dönmeyi unutmayın!
    Peki ve benzeri... Falan, blah, blah: %OBJECT.PROPERT% blah, blah, blah. Çin'de bile herhangi bir dilde falan filan.
    Örneğin nemi görüntülemeniz gerekiyorsa, şunu yapın: %ESP8266003b5df7.dhth1%% ikinci % sadece bir sembol olacaktır.

    Rica etmek: Majordomo betiğini her saat başı çalıştırmak için mi?
    Cevap: Şu yönteme gidin: NESNELER / Nesneler / Zamanlayıcı / onNewMinute ve en sonunda şunu ekleyin:

    Eğer ($m=="10") (
    runScript("SCRIPT ADI");
    }

    "Güncelle" düğmesine tıklamayı unutmayın
    Komut dosyası, saatin her onuncu dakikasından sonra yürütülür.

    Rica etmek: MajorDoMo diğer sayfalara giden yol nasıl ayarlanır?
    Cevap:
    1. Sayfanızın bir sekme gibi görünmesini istiyorsanız şuraya gitmelisiniz: Ana Yönetici Menüsü/AYARLAR/Ana Sayfalar, düğmesine tıklayın "Yeni sayfa", Tarlada İsim(*) sekmenin adını listeye yazın Tip Seç URL, tarlada Bağlantı, sayfa adresini yazın. Yerel sayfalar için yerel yolu belirtmek yeterlidir, örneğin: /Template_alt/pagename.html . Kendi klasöründe bir sayfanız varsa ve bir dizin dosyası varsa, yalnızca klasörü belirtmeniz gerekir, örneğin: /Kinoteatr/

    2. Diyelim ki her zaman kullanmak için İnternetten bir web sitesini MajorDoMo'ya eklemek istiyorsunuz. Çok basit. Bunu yapmak için "Gönderilen bağlantılar" uygulamasını kullanmanız gerekir ( Oku onu eklenti pazarında).
    Misal. İş yerinde bir tarayıcınız var. ile bir tarayıcı yer imi yapma İsim: MJD'ye gönder ve sahada URL Reçetelemek:

    javascript:(işlev()(varhost=" MajorDoMo'nuzun adresi"; var title=prompt("Başlık:", belge. başlık); if (başlık!="" && başlık!=null) (location.href="http://"+host+"/popup/app_readit.html ?ajax=1&op=add&url="+encodeURIComponent (location.href)+"&title="(!LANG:+encodeURIComponent(title);))());

    DEĞİŞTİRMEYİ UNUTMAYIN: MajorDoMo'nuzun adresi !!!
    Bunu, örneğin yer imleri çubuğunda (elbette önce görüntülenmesi gereken) belirgin bir yere koyduk.
    Şimdi, hangi sayfada olursanız olun, bu sekmeye tıklamanız yeterlidir; sayfa MajorDoMo'da, Bağlantılar sekmesinde görünecektir. Orada (açık Bağlantılar sekmesinde) sol üst köşedeki küçük simgeye dikkat edin, üzerine tıklayarak aşağıdakileri yapabileceğiniz bir menü açacaksınız: Çerçevede (sekmede) kalıcı olarak görüntülenecek bir sayfa seçin, Manuel olarak yeni bir sayfa ekleyin (Herhangi bir nedenle yer imi kullanmak istemiyorsanız) ve son olarak bir yer imi oluşturmak için bağlantıyı alın (Dikkat! Oradan bir bağlantı alırsanız, şunlara dikkat edin: host="mycomp" !} mycomp Bu, MajorDoMo'nuza bir bağlantıdır, kural olarak yerel bir IP olabilir, bunun harici bir IP veya bir alan adına değiştirilmesi gerekecektir. Genel olarak bir alan adı kullanmanızı tavsiye ederim, her yönden daha uygun. Yani, örneğin, dışarıda bir alan adına sahip olmak ve yerel ağdaki ilişkisini kaydetmek, her yerde kullanabileceğiniz tek bir bağlantınız olacak, bu, mobil uygulamalar, Tasker vb. İle çalışırken çok uygundur. evdeyken ve sonra dışarıdayken bir şeyi değiştirmeyi ummanıza gerek yok).

    3. Son olarak dilerseniz sayfanızı doğrudan sahneye ekleyebilirsiniz. Örneğin, bir grup düğme içeren hazır bir sayfanız varsa, vb. Burada daha fazlasını öğrenin: (BAĞLANTI)

    Rica etmek: MajorDoMo nesne yöntemi başlatılıyor mu?
    Cevap: Yöntem satır tarafından çağrılır:

    callMethod("Object.Method", $params);

    Daha önce, global değişkenler hakkında bir yorumda, dahili fonksiyonlar hakkında yazdım ve alıntı yaptım (LINK), aynı yerde "Nesnelerle çalışmak" bölümünde yöntemler hakkında da bulacaksınız.

    Rica etmek: Bir nesnenin özelliğinden diğerinin özelliğine nasıl değer yazılır?
    Cevap: Başlangıç ​​olarak, bunun neden gerekli olduğunu belirlemeye değer. Bu, örneğin, oluşturmanız gerektiğinde gereklidir. basit cihaz , diyelim ki bir sıcaklık sensörü ve fiziksel olarak karmaşık bir cihazınız var, örneğin bir sıcaklık sensörü de dahil olmak üzere birçok sensörün bağlı olduğu bir ESP modülü. Ancak, ESP'nin basit bir cihaz olmadığı ve tüm sensörlerini yazmak için kullanılan komut dosyasının bileşik olduğu göz önüne alındığında (yani, tanımlayıcı bir nesne ve aslında özellik olarak oluşturularak değer özelliğe yazılır. Kısacası, kod birdir ve veriler farklı ESP'lerin özelliklerine yazılır ), basit cihazlarda doğrudan kullanımı imkansızdır.
    Nasıl devam edilir?
    1. Oluştur basit cihaz , Sıcaklık sensörü. Çıktıda bir çift Object.Property alacağız, örneğin: Sensör_temp01.değer hatırlayalım.
    2. İlgilendiğimiz ESP'nin sıcaklık sensörünün adını öğrenin (diyelim ki salondaki ilk ESP modülüne bağlı olan BME-280'den sıcaklık sensörünü kullanmak istiyoruz), gidin salonun ESP özelliklerine bakın ve adında bir sıcaklık sensörümüz olduğunu görün: ESP8256007b5b6d.bmet, Bunu hatırlamak.
    3. Her dakika basit bir cihazın sıcaklık özelliğine ESP sıcaklık özelliğinden değeri yazacak bir script oluşturalım. Diyelim ki: Sensör Birliği
    Ve bunun kodunu yazın:

    // ESP8256007b5b6d.bmet'ten Sensor_temp01.value'ye her dakika veri yazar
    $templ = getGlobal("ESP8256007b5b6d.bmet");
    setGlobal(("Sensor_temp01.value"),$templ);

    Senaryomuzu kaydedelim!

    4. Ve son olarak, komut dosyasını zamanlayıcı yönteminde her dakika yürütülecek şekilde yerleştirin: onNewMinute

    Rica etmek: MajorDoMo göstergeleri?
    Cevap: Yeni başlayanların çoğu genellikle bu soruya takılıp kalıyor. Evet, gerçekten de, yapı ve özellikle kalıplar hakkında derin bir bilgi olmadan, göstergeleri bulmak o kadar kolay değildir, ancak bulundukları yeri tam olarak bilmek kesinlikle sorun olmayacaktır. Söylemek istediğim ilk şey, göstergelerin şablonun bir parçası olduğu, yani. Lafta Web yüzleri veya (isterseniz ön uç), yani? onları araman gereken yer orası. Ve böylece, iki yerde bir Web ağızlığına sahip olabiliriz. 1. Standart şablonu kullanıyorsanız, muhtemelen onu burada aramalısınız: /www/şablonlar/varsayılan.html 2. Benim gibi, alternatif bir şablon uygulanmışsa ve aynı zamanda asil web ustalarının kurallarına uyuyorsanız, varsayılanı (Yazarın varsayılan olarak verdiği şeyi) sıçmayın, asla bilemezsiniz ve aniden yeniden yapmanız gerekir. daha güzel. O zaman, kesinlikle alternatif şablona bakmalısınız: /www/templates_alt/default.html . Şablona karar verdik, dosyayı bir metin düzenleyicide açtık: default.html ve ağır metinde dolaşmamak için doğru olanı aramak için dosyadaki satırı arıyoruz: System.IndicatorColor bu, sistem durumunun bir özelliğidir (değer bir resimdir), bir numaralı gösterge! Her zaman mevcuttur, resimlerin bulunduğu özellikleri benzerliğine ekleyerek, ana sayfada istediğiniz kadar gerekli göstergeyi alacaksınız.

    Ama hepsi bu kadar değil. İşte bu sayfamda (LINK), şablonum ana resim olarak gösteriliyor ve yakından bakarsanız, göstergelerin sadece ana şablonda değil, aynı zamanda ana şablonda da olması gereken bir yeri olduğunu fark edeceksiniz. Menü. Bu bir heves ve saçmalık değil, çünkü MajorDroid'de kullandığım varsayılan olarak ana sayfayı göremezsiniz, orada ana sayfa menü (rezervasyon yapacağım, bu benim durumumda, çünkü dilerseniz varsayılan olarak oradaki sahneyi görüntüleyebilirsiniz!) bu nedenle menüde yinelenen göstergeleri de görebilirsiniz.
    Onları nerede aramalı? Çok basit, gerçekten ihtiyacınız varsa bunları kendiniz yapmanız gerekecek.
    Peki nasıl yapılır?
    ile bir menü öğesi yapma İsim: Belirtmek, bildirmek ve menünüzün en üstüne koyun ( Bir öncelik: 100000 ), ana öğe:, tabii ki olmalı KÖK.
    AT Tip: Seç HTML bloğu.
    Veri: alanına aşağıdaki kodu yazın:

    Bu benim versiyonum, kendiniz düzenleyin, neyin, nasıl ve nerede olduğunu zaten zorlanmadan anlayacaksınız. Ve resim için üzgünüm, sadece sistemim bu kodu alacak şekilde düzenlenmiştir. Bu yüzden elle yeniden yazılması gerekecek. Lütfen dikkat: Liquid_Crystal bir LCD saatini taklit eden bir yazı tipidir, benim şablonum bu tarzda yapılmıştır, eğer aynısını istiyorsanız, sizin için önemli değilse, kendiniz indirmeniz gerekecek, o zaman eğer Liquid_Crystal'i bulmazsanız, sistem Arial'i bağlar, ancak zaten en üste yazar.
    Ve son olarak, paragrafta: Otomatik güncelleme süresi: yazmak 10 sn.
    Kaydet ve istediğini al.

say($ph,$seviye)-- bir cümle söyler ($voicemode [yani konuşmak] ve $commandLine [yanıtı echo utf2win() işlevine dönüştürür, aksi takdirde yalnızca yankı] global değişkenlerini kullanır). $level tümcenin önem düzeyini gösterir (minimum telaffuz düzeyi için geçerli ayarlara bağlı olarak, sözcük öbeği seslendirilebilir veya yalnızca mesaj geçmişine yazılabilir).

prosesKomut($komut)-- yürütülecek bir metin komutu gönderir (örneğin, "saatin kaç olduğunu söyle"). Komutların kendileri ThisComputer->commandReceived yönteminde yapılandırılır.

getGlobal($varname);-- global mülkün değerini almak

setGlobal($varname,$değer);-- global özelliği ayarlama

süreçLine($satır);-- senkronizasyon komut dosyasını çalıştır

getRandomLine($dosyaadı);-- bir metin dosyasından rastgele bir dize alın. $dosyaadı kısaltılabilir, örneğin dosya1 ve ardından dosya alınacaktır./texts/file1.txt

playSound($dosyaadı);-- bir dosyanın çalınması (mp3, wav, vb.). $dosyaadı kısaltılabilir, örneğin dosya1 ve ardından dosya alınacaktır./sounds/file1.mp3

playMedia($yol);-- $path dizininden müzik çalın. Misal

runScript($id,$veri);-- betiği verilen kimlikle çalıştırır. Ad, kimlik olarak kullanılabilir

getLogger($bağlam = boş);-- bir günlükçü nesnesi döndürür. Kaydedici kullanım örnekleri

nesnelerle çalışma

$nesne=getObject($isim);-- $name adlı nesneyi alır. Aşağıdaki yöntemleri kullanarak alınan nesneyle çalışabilirsiniz:
$nesne->callMethod("method_name",$params);
$nesne->setProperty("özellik_adı",$değer);
$nesne->getProperty("özellik_adı");

callMethod("Object.Method", $params);-- belirtilen parametrelerle nesnenin yöntemini çağırır (ikincisi isteğe bağlıdır)

$command="Saat kaç"; callMethod("BuBilgisayar.commandAlındı",array("komut"=>$komut));

santimetre

$değer=getGlobal("Object.Property");-- bir nesne özelliğinin değerini almak

İyi oyun-- önceki işlevin alternatif adı

setGlobal("Object.Property",$değer);-- bir nesne özelliğinin değerini ayarlama

sg-- önceki işlevin alternatif adı

$nesneler=getObjectsByClass("sınıf_adı");-- isim olarak belirtilen sınıfın nesnelerinin bir dizisini döndürür.Nesneler arasında döngü oluşturmaya ve özellik değerlerini ayarlamaya bir örnek: $objects=getObjectsByClass("class_name"); foreach($nesneler $nesne olarak) ( setGlobal($obj["TITLE"].".property_name",1); )

Zaman aralıkları

zaman()-- geçerli saati zaman damgası biçiminde döndürür.

zamanDönüştür($tm)-- bugünün tarihi için zamanı ss:dd'den time() formatına dönüştürün

şimdiki zaman($tm)-- "16 saat 40 dakika" gibi metin biçiminde zamanı döndürür. $tm ayarlanmazsa, geçerli saati döndürür. $tm zaman biçiminde.

isHafta Sonu()-- izin günü evet/hayır = 1/0 HaftaGünü()-- hafta içi evet/hayır = 1/0

timeIs($tm)-- geçerli saatin iletilen saatle ss:dd formatında eşleşip eşleşmediğini kontrol eder

zamanÖnce($tm)-- zamanı $tm (ss:dd) ile şimdiki zamanı karşılaştırır. Akım 1'den küçükse, aksi takdirde 0

zamanAfter($tm)-- zamanı $tm (ss:dd) ile şimdiki zamanı karşılaştırır. Akım 1'den büyükse, aksi takdirde 0

timeBetween($tm1, $tm2)-- geçerli saatin belirtilen aralık içinde olup olmadığını kontrol eder (her ss:dd ve $tm1, $tm2'den büyük olabilir, örneğin 23:00 05:00)

tanımaZamanı($metin)-- işlev, ifadeden belirli bir saat/tarih çıkarmaya çalışır. Örneğin $metin "yarın 9:30'da" veya "5 dakika sonra" olabilir

Herhangi bir yöntemi çağırırken (ancak bir komut dosyası değil!) değişkenler kullanılabilir:

$öncekiÇalıştır-- son arama zamanı (zaman damgası biçiminde)

$prevRunPassed-- son aramadan bu yana kaç saniye geçti

$bu-- Kendini gösteren işaretçi. Sınıf yöntemlerinde kullanılır. Örneğin:

$this->setProperty("durum",1); // status özelliğini, çağrıldığı nesne olan 1'e ayarlar

Zamanlanmış görevler ve olaylar

AddScheduledJob("title", "komutlar",$tarihsaat, $sona erme=60);-- saniyeler içinde sona erme süresi

ClearScheduledJob("başlık");-- "title%" gibi bir maske kullanılabilir

SetTimeOut("başlık", "komutlar", $zaman aşımı);-- Saniye cinsinden $timeout (AddScheduledJob("title","commands",time()+$timeout'a benzer));

ClearTimeOut("başlık");-- ClearScheduledJob ("başlık");

timeOutExists("başlık");-- zamanlanmış görevin kimliğini döndürür (veya yoksa 0)

registerEvent($eventName, $details="",$expire_in=365);-- olay kaydı $eventName

kayıtlıEventTime($eventName);-- $eventName olayının son kayıt zamanını döndürür (henüz böyle bir olay yoksa -1)

Mail gönderiliyor

SendMail($from, $to, $konu, $body);-- $to ile belirtilen adrese bir e-posta gönderir

SendMail_html($from, $to, $konu, $body);-- önceki işleve benzer, ancak e-posta gövdesinin HTML biçiminde olduğu varsayılır

Bir süre önce, sözde ticari olmayan ortaklığın "Vologda Ev Sahipleri Dernekleri Derneği (ZhSK) ve Konut Sahipleri Derneği"nin faaliyeti, editör kadromuzun görüş alanına girdi.

HOA Derneği liderlerinin dediği gibi, kar amacı gütmeyen "Vologda HOA Derneği (HBC) ve Ev Sahipleri Derneği" nin oluşturulması ve işletilmesinin hedefleri, ev sahipleri arasında bir koordinasyon, karşılıklı bilgi ve etkileşim sistemi oluşturmaktır. çıkarlarının devlet makamlarında, yerel yönetimlerde, yargı organlarında temsili ve korunması olarak.


Ancak gerçekte, çoğu durumda olduğu gibi, her şey o kadar basit değildir.

Açık verilere göre, NP "Vologda HOA Derneği (ZhSK) ve Konut Sahipleri" nin kurucuları 2 kişidir: Sukhikh Artyom Vladimirovich ve Ivanov Nikolay Leonidovich.


Ve HOA Derneği de siyasete karışıyor, adaylarını seçimlerde para harcayarak terfi ettiriyor.

Bu kişiler, birkaç yıldır mülk sahiplerini mülklerinin öz yönetimine geçmeleri için kışkırtıyorlar. HOA Derneği'nin kurucularının temel amacı, gayrimenkul (apartman) sahiplerinin kendi ortaklıklarını yaratmayı hayal ettikleri apartman binalarıdır.

Başlangıçta, HOA Derneği, bir HOA'ya kaydolmak için gerekli belgelerin hazırlanmasında mal sahiplerine yardım sunar. Bu tür HOA'ların yönetim kurulu üyeleri, kural olarak, konut ve toplumsal hizmetler alanından ve apartman binalarının yönetiminden, maddi çıkarları nedeniyle tamamen HOA Derneği tarafından kontrol edilen kişilerdir.

Bu tür bir işbirliğinin sonucu her zaman aynıdır: HOA'nın karşı taraf seçiminde bağımsız olmaması, işin şişirilmiş fiyatlarla performansı, konutların onarımı ve bakımı için tahsis edilen fonların HOA Derneği tarafından kontrol edilen kuruluşlara geri çekilmesi .

NP "HOA Derneği" Şeması

Bu kuruluşlar hakkında ne biliniyor?

1. LLC İngiltere "Sokol".

Örgütün genel müdürü ve tek kurucusu Bazhenov Alexander Nikolaevich'dir. Yasal adres: Vologda, st. Mira, d.17 of. 211. Açık kaynaklardan edinilen bilgilere göre bu adres, bazıları tasfiye sürecinde olan altı kuruluşun daha tescil yeridir.

Sokol LLC'nin temsilcisi, on yıl boyunca verilen vekaletname ile Sukhikh Artem Vladimirovich'tir, aynı Sukhikh A.V. Ivanov ile birlikte HOA Derneği'nin kurucu ortağıdır.

Nisan 2019'da, Vologda şehrinin Lavrov Caddesi'ndeki 9 No'lu evin sakinlerinden Sokol Management Company LLC'nin yönetimindeki bir eve yasa dışı el konulmasına ilişkin şikayetler hakkında bilgi aldık.

Daha önce, bu apartmanda inisiyatif vatandaşlar apartman binasını yöneten bir HOA oluşturdu.

Sokol Management Company LLC yönetime başlar başlamaz, sahipler kendileri dedikleri gibi bunu hissettiler. Isı eşanjörünün yıkanması sonucunda, evin sakinlerine verilen suya bir soğutucu girdi ve bunun sonucunda su yeşile döndü. Evlerin yarısında hala sıcak su yok. Bodrumdaki borular sürekli sızdırıyor. Yönetim Şirketi "Sokol" LLC, sahiplerinin dairelerine sıcak suyu geri vermek için herhangi bir işlem yapmaz ve ayrıca ısı eşanjörünü onarmak veya değiştirmek için önlem almaz. Evin ortak alanlarının temizliği kalitesiz ve bazen hiç yapılmamaktadır. Sokol Management Company LLC'nin zamanında ve yüksek kalitede yaptığı tek şey, hizmetler için ödeme makbuzlarını posta kutularına dağıtmaktır ve Sukhikh Artem sahiplerine gider ve ödeme talep eder. İnsanlar, gerçekte yapılmayan işler için para ödemeleri gerektiği için öfkeleniyorlar.

Ek olarak, Sokol Management Company LLC, teknik bir incelemenin sonuçlarına göre asansörün iyi durumda olduğu ve onarım gerektirmediği sonucuna varılsa da, iddiaya göre evin asansörlerinden birinin onarımı için para çekmeye çalışıyor. .

Şu anda, sokaktaki 9 numaralı evin yanlış yönetimi. Lavrov, Vologda, Sokol Management Company LLC ile ilgili olarak yürütülen bir teftiş raporuyla doğrulandı 28 Haziran 2019'da Vologda Şehir İdaresi Belediye Ekonomisi Departmanı, yönetim organizasyonları için lisans gerekliliklerinin ihlallerini ortadan kaldırmak için bir emir yayınladı.

Amacı sakinlerin bir HOA oluşturmasına yardımcı olmak olan HOA Derneği'nin "Ticari Olmayan" ortaklığının neden ters yönde çalıştığı ve evleri HOA'dan Sokol Management Company LLC olan kontrollü kuruluşlara götürdüğü anlaşılmaz hale geliyor.

LLC Yönetim Şirketi "Sokol" başkanı, Ivanov N. ve Sukhikh A. tarafından kontrol edilen yönetmen Bazhenov Alexander'dır.

Dikkatli sakinler sayesinde, sahiplerin Sokol Management Company LLC'yi seçme kararının Vologda Şehir Mahkemesi tarafından yasa dışı ilan edildiği ve tamamen iptal edildiği belirtilmelidir.

2. LLC "SU-35"

Ulyana Pavlovna Borodiy ve Maksim Alekseevich Dobrelya, OOO SU-35'in üyeleridir. Son Sukhikh Artem ile sürekli iş ilişkileri içindedir.

Şu anda, Vologda Bölgesi Tahkim Mahkemesi'nin kararı ile OOO "SU-35" iflas (iflas) olarak kabul edildi ve iflas davası prosedürü açıldı.

Başlangıçta, 10 Nisan 2017'de Sukhikh A.V. ve LLC "SU-35", Sukhikh'in Hukuk İşleri Müdür Yardımcısı görevlerini üstlendiği bir iş sözleşmesi imzalandı.

Daha sonra, LLC "SU-35" ile ilgili gözetim prosedürünün başlatılmasından sonra, Sukhikh, LLC "Su-35" yönetimi ile birlikte VİZE HESAPLARINDAN PARA ÇEKMEYE BAŞLADI. Bu girişimi uygulamak için, geçici yöneticinin rızası olmadan, OOO SU-35 ile Sukhikh arasında sözleşmenin mevcut şartlarını değiştirmek için bir anlaşma yapıldı.

Aslında, belirtilen ödemelere ek olarak, önceden kararlaştırılan aylık 30.000 ruble 00 kopek maaşına, aynı görevler için Sukhikh A.V.'ye atanan iş sözleşmesi, taraflar 270.500 ruble ücret artışı kabul edildiaylık. (28 Nisan 2018 - 17 Temmuz 2018 dönemi için 811.500 ruble)

Para çekme işleminin yasal görünmesi için 20 Kasım 2018'de Sukhikh A.V. SU-35 LLC'den maaş borçlarının geri ödenmesi için talepte bulundu. 1.082.229 ruble 99 kopek Ancak Vologda Şehir Mahkemesi, Sukhih A.The. sadece kısmen, LLC "SU-35" tutarında bir borç tahsil etmiş olmak 70 117 ruble 46 kopek.

Daha sonra, Vologda Bölgesi Tahkim Mahkemesi, iş sözleşmesinin mevcut şartlarını değiştirme sözleşmesini geçersiz kıldı. Mahkemenin kararında haksız davranış tespit edilen Sukhih A.The. , Mahkeme tarafından kurulan OOO SU-35'in iflas (iflas) durumu koşullarında (izleme prosedüründe) ve iş görevlerinin yerine getirilmesi için ücretlerin yükseltilmesine ilişkin koşullara ilişkin anlaşmada Sözleşmenin imzalanmasında ifade edilir. daha önce Rusya Federasyonu Medeni Kanunu'nun 10. Maddesi ile kurulan işlemin geçersizliğinin varlığını gösteren, İş Sözleşmesi kapsamında Sukhikh'e atanan (zarar verme kastı ile hukuka aykırı olarak yapılan işlem)

3. LLC "Metprom"

Artem Vladimirovich Sukhikh, Metroprom LLC'nin direktörüdür. Şu anda, Metrprom LLC, Federal Vergi Servisi'nin kararı ile tasfiye edilmiştir. Metprom LLC ile ilgili tüzel kişilerin kaydı, tüzel kişinin adresindeki verilerin yanlışlığı hakkında bilgi içerir.

Yasal adresin güvenilmezliği, "bir gün" organizasyonunun işaretlerinden biridir.

Sukhikh Artyom Vladimirovich hakkında başka ne biliniyor?


NP "Association of HOA"'nın kurucusu ve avukatı olan Sukhikh, ev sahipleri derneklerine yasal hizmetler sunmaktadır.

Bize bilindiği gibi, HOA Vologda adresinde, Teknik şerit, 56, Sukhikh A.V. tarafından temsil edilen HOA derneğinde. konut dışı binalardan onarım ve bakım hizmetleri için borçlu olan mülk sahiplerinden alacak tahsili hizmetlerinin sağlanması için bir anlaşma imzalandı. Böyle bir hizmetin maliyetinin yirmi bin ruble olduğu tahmin edildi. (10 kat fazla tahmin edilen pazara kıyasla), ancak HOA Başkanı'na göre, borç tahsilat hizmetleri çok zorlanmış bir Sukhikh A.V. nedeni ile sağlanmadı. HOA Derneği başkanı Nikolai Ivanov, Sukhikh ile bağlantısını mümkün olan her şekilde reddettiği için parayı iade etme girişimleri başarısız oldu, ancak aslında Sukhikh Derneğin kurucularından biri olduğu için bağlantı açık. Para başkana asla iade edilmedi.

Ayrıca, bir ev sahipleri derneğine verilen düşük kaliteli yasal hizmetlere ilişkin başka bir vakayı da biliyoruz.

Aralık 2016'da Sukhikh A.V. HOA adına, evin inşaatı sırasında yapılan eksiklikleri gidermek için gerekli işin maliyetinin geri alınması için geliştiricilerden birine karşı dava açtı. Aralık 2018'de Vologda Bölgesi Tahkim Mahkemesi iddiaları tamamen reddetti. Mahkeme kararında şu ifadelere yer verdi:

"Mahkeme ayrıca, müteahhitin davayı açtığı sırada tasfiye süreci başlattığını bilen davacının hakkını kötüye kullandığına ilişkin tüm sanıkların beyanlarını da dikkate almış ve haklı görmüştür. davada, bu davalının temsilcisi derhal mahkemeye şirketin takibatı için davayı kabul ettiğini bildirmiş, alacaklıların alacakları siciline girmek için herhangi bir başvuruda bulunmamış, iflas çerçevesinde alacaklı olarak haklarını kullanmamıştır. davalının alacaklılar toplantısına katılmaması, şirket katılımcılarını tali sorumluluk altına sokacağını iddia etmesi, gerekçesi varsa beyan etmemesi, yani kendisine tanınan haklarını kullanmayı gönüllü olarak reddettiği, yasa.

Böyle bir iddianın sonucu HOA için üzücü oldu. HOA Derneği'nin vaatlerine inanan ve Sukhikh A.V. İnşaat kusurlarının ortadan kaldırılması için fon karşılığında, HOA yalnızca 43.003 ruble tutarında bir devlet ücreti şeklinde yasal masraflar, maliyeti 100.000 rubleyi aşan bir inşaat incelemesi yapmak için büyük masraflar ve masraflar aldı. "yüksek sınıf uzman" Sukhikh A.V.'nin hizmetlerinin yanı sıra önceden belirlenmiş bir sonucu olan iki yıllık bir yasal savaşın ödemesi. Sonuç olarak, yalnızca "Kar amacı gütmeyen ortaklık" Ev Sahipleri Dernekleri Derneği "zenginleştirildi"

Temsilci Sukhikh A.V. tarafından temsil edilen HOA'nın reddi. , haklarının kullanılmasından, iflas etmiş bir geliştirici ile bir yolsuzluk bileşeni önerir. Sonuç olarak, Sukhikh A.V. hizmetleri için para alır ve geliştirici en ufak bir engelle karşılaşmadan başarıyla tasfiye edilir.

HOA Derneği'nin çalışmalarının sonucu tahmin edilebilir ve çok üzücü. Mülk sahipleri, mülkleri üzerinde hayali bağımsızlık ve hayali güç elde eder ve HOA Derneği ve onun tarafından kontrol edilen kuruluşlar, ev sahiplerinin pahasına zenginleşir. Bu durumdaki tüm eylemlerin sorumluluğu, mevcut mevzuat gereği, HOA'nın kendisine aittir, dernek eylemlerinden sorumlu değildir.

Devam edecek.

Ürünle ilgili fikrimi belirteceğim, belki birilerinin işine yarar.
Her şeyden önce uzmanlar, entegratörler, normal bir kutulu ürün, normal teknik belgeler, 7\24 desteği, bayi ağı veya bonuslar olmadığı sürece MajorDoMo ile muhtemelen ilgilenmeyecektir.

Kendi kendini inşa edenlerin de bununla ilgilenmesi pek olası değildir, örneğin OpenHab veya ioBroker'dan küresel bir fark yoktur.

Ancak sadece bir akıllı ev sistemi kuracak olanlar ve hala ne istediklerini ve akıllı bir evin neler yapabileceğini anlamak isteyenler için, sistemle bir süre uğraşmak muhtemelen mantıklı olacaktır. Şahsen, zaten birkaç düzine arkadaşımı MajorDoMo'ya bağladım.

Her şey bayat olur, akşamları konuklar barbeküye gelir - bukhaching. Alacakaranlıkta, MajorDoMo otomatik olarak verandadaki ışığı yakar, efekti arttırmak için UD'ye radyoyu veya müziği açması için sesli bir komut veririm. ses seviyesini sesle kontrol edin veya başka bir radyo istasyonuna veya parçaya geçin.

Sonra eve misafir getiriyorum ve yine sesli bir şekilde akıllı evden kendilerini anlatmasını rica ediyorum. (Böyle bir demo modu yapılandırdım). UD ışığı açıp kapatmaya başlıyor, diyor hava durumu, televizyonları, bölmeleri ve bir düzine farklı şovu açıyor.

Soruyu cevapladıktan sonra, maliyeti ne kadar? ücretsiz. Müşterinin olgunlaştığını düşünün.

Ancak bu derslere birkaç saat harcadıktan sonra, programlamada temel bilgiler olmadan, mantığı, yapıyı ve diğer şeyleri anlamadan, sadece videodaki tüm eylemleri aptalca tekrarlayarak, mümkün olacak.

Müzik veya radyo tetiklendiğinde çalmak için bilgisayarınızda sesinizle bir alarm kurun
Bilgisayarınızdaki medya oynatıcıyı sesinizle kontrol edin
Herhangi bir akıllı telefon veya tablet kullanarak video gözetimi düzenleyin
Hareketi takip edin ve örneğin çocukları gps ile bulun
Bilgisayarınızdaki çevrimiçi radyo istasyonlarını sesinizle yönetin
Akıllı bir alışveriş listesi edinin
Hava durumunu bilgisayarınızda sesinizle dinleyin
Wiki'den sesli sorular sorun ve yanıtlar alın
Sesli günlükten görevler ekleyin ve kaldırın.
Sesli hatırlatıcılar.
Mevcut döviz kurunu istek üzerine sesli olarak alın
Gelen SMS'leri sesli oku
Bilgisayarı uzaktan kapatın
Akıllı telefonunuzdaki pil şarjını izleyin ve şarjda kritik bir düşüş hakkında bildirimler alın
Haber başlıklarını veya haberlerin kendisini ve film özetlerini sesinizle dinleyin

Yazmaktan bıktım, daha çok şey var...

Ve tüm bunlar tek satır kod yazılmamıştır (tüm kodlar videonun altında yayınlanmıştır)

Geçen bir buçuk yıl boyunca, inşaat endüstrisinden giderek daha fazla entegratör ve insan, yazılımla nasıl çalışılacağını ve "Akıllı Ev yapmayı" öğretmek için bize bir talepte bulundu.
Şu anda, birkaç düzine entegratör (tüm BDT'de) Majordomo'da Akıllı Evler uyguluyor. Onlara hiçbir şey ödemiyoruz (ne bonuslar, ne de bayi indirimleri) - bu doğru. AMA müşterilerinin yazılım için ödeme yapmasına gerek yoktur. Ve Majordomo'nun yardımıyla daha fazla bütçe ekipmanı kullanın.
Bütün bunlar, müşteriler için nihai maliyeti büyük ölçüde azaltır.

Belgelere göre - bir bilgi tabanı oluşturduk, yavaş yavaş dolduracağız

Openhab/ioBroker ve Majordomo ile ilgili olarak - Erkeklerin Openhab/ioBroker'dan bize geçtiği birçok vaka biliyorum - aynı nedenden dolayı: güçlü bir fark yok, ancak Rusça konuşan çok daha fazla kullanıcı var ve konuşacak biri var ile