Beta yazılım, tamamen yapay zekâ tarafından yazıldı.Hiçbir satır bir insan tarafından tek tek incelenmedi, güvenlik denetiminden geçmedi. Garanti ve sorumluluk yoktur: kullanım riski size aittir.Devamı
İçeriğe geç

SDK neler yapabilir ​

Bu sayfa eklenti geliştiricileri için bir haritadır: bir eklenti neler yapabilir ve yapamaz, her iş için hangi fonksiyon çağrılır, sürümler nasıl işler ve sonra nereye bakılır. Her satır ayrıntıların olduğu sayfaya bağlanır.

Bir tür seçin ​

Bakımcı dışındaki herkesin eklentileri JavaScript eklentileridir: sandbox içinde, sizin bildirdiğiniz ve kullanıcının onayladığı izinlerle çalışır. C# eklentileri yalnızca resmî, imzalı eklentiler olarak vardır; sunucu başka hiçbirini yüklemez.

Klasör yapısı, kurulum adımları ve yaşam döngüsü için Eklenti temelleri sayfasına bakın.

Bir JavaScript eklentisi neler ekleyebilir ​

YetenekJavaScript
Bir widget olayının çalıştırdığı aksiyonlar (basma, bırakma, uzun basma, çift dokunma, aç/kapa, değer değişimi)host.registerAction({...})
Widget'ların metinde gösterdiği ve koşullarda kullandığı canlı değişkenlerhost.variables.set / get / remove
Değişken kataloğu (seçici için açıklama, tür, birim, izinli değerler)host.variables.describe([...])
Düzenleyicinin alan bildirimlerinden çizdiği ayar sayfasıhost.settings.page(fields)
Durum çubuğu öğesihost.status(id, text, level)
Tuş basmak, metin yazmak (yalnızca bir düğme basışı işlenirken ve sınırlarla)host.input.hotkey / type (input izni)
HTTP isteklerihost.http.get / post / getAsync / postAsync (http:<host>:<port> izni)
Zamanlayıcılarhost.every / after / cancel
Çevirilerplugin.json yanında locales/<dil>.json

Aksiyonlar ayrıca kendilerini tetikleyen cihazı, sayfayı ve widget'ı alır.

Bazı şeyler sunucunun içinde çalışan kod gerektirdiği için yalnızca resmî C# eklentilerine açıktır: simge paketleri, dinamik açılır liste seçenekleri, ayar formunda düğmeler, basma-bırakma eşleşmesi ve korunan sırlar. Bir JavaScript eklentisi bunları kullanamaz.

Bir eklenti neler yapamaz ​

  • Yeni bir widget türü eklemek veya kendi widget'ını çizmek. Eklenti aksiyon, değişken, form, durum öğesi ve simge ekler; her şeyi düzenleyici çizer.
  • Windows dışında çalışmak (sunucu yalnızca Windows'ta çalışır).
  • require, fetch, dosya, .NET kullanmak veya 20'den fazla zamanlayıcı açmak. Bkz. JavaScript host API.

İhtiyaç duyacağınız fonksiyonlar, sırasıyla ​

  1. Eklentiyi tanımlayın: id, name, version, minMacroGrid, entry, kind içeren plugin.json.
  2. Başlatın: betik her yüklemede baştan sona bir kez çalışır. Tüm kayıtları burada yapın.
  3. İşi yapın: bir widget olayı tetiklenince aksiyonun run(context, settings) metodu çalışır. context hangi cihaz, sayfa ve widget'ın tetiklediğini söyler.
  4. Veri yayımlayın: host.variables.set(name, value), her an (örneğin bir zamanlayıcıdan). Adlar ve aksiyon türleri <plugin id>. ile başlamalıdır.
  5. Kullanıcının ayarlamasına izin verin: aksiyonlar ve ayar sayfaları için alan bildirimleri (Ayar sayfaları).
  6. Temiz kapatın: yapacak bir şey yok; eklenti kaldırılırken zamanlayıcılar iptal edilir ve değişkenler silinir (yaşam döngüsü).

Tam liste JavaScript host API sayfasındadır.

Sürümleme nasıl işler ​

Birbirinden bağımsız üç sürüm numarası vardır, hepsi anlamsal sürümdür:

NeNeredeKim değiştirir
Macro Grid düzenleyicisi ve eklenti SDK'sıtek numara; sunucu deposundaki <Version>Macro Grid sürümü
Sizin eklentinizplugin.json içindeki versionsiz
İhtiyaç duyduğunuz en düşük Macro Gridplugin.json içindeki minMacroGridsiz
  • Bir MAJOR içinde SDK yalnızca büyür. Üyeler eklenir, asla kaldırılmaz veya değiştirilmez; 1.0.0 için derlenmiş bir eklenti her 1.x üzerinde çalışır. Yeni bir MAJOR eklentileri bozabilir ve her eklenti yeniden derlenmelidir.
  • minMacroGrid bir alt sınırdır. "minMacroGrid": "1.2.0", 1.2.0'dan 2.0.0'a kadar (2.0.0 hariç) çalışır. Eklentinin mümkün olduğunca çok düzenleyicide çalışması için kullandığınız her şeyi içeren en eski sürümü yazın.
  • Kendi MAJOR'unuzu yalnızca kayıtlı bir profil sessizce çalışmaz hale geliyorsa artırın: adı değişen bir aksiyon type'ı, değişken adı veya anlamı değişen bir ayar.
  • Uyumsuz bir eklenti nedeni belirtilerek Incompatible olarak listelenir ve yüklenmez.

Ayrıntılar ve uyumluluk tablosu: Uyumluluk ve sürümleme.

Sonra nereye ​

  1. Başlarken, ardından Öğretici 1: JavaScript.
  2. Değişkenler için Öğretici 2: canlı veri.
  3. Formlar, açılır listeler, listeler, dosya seçiciler ve sırlar için Ayar sayfaları.
  4. Hata ayıklama ve günlükler, sonra Eklentinizi yayımlama.
  5. Okumak için resmî eklentiler: OBS (değişkenler, dinamik seçenekler, bağlantı durumu) ve PLC Icons.

Macro Grid siteleri: PC · Telefon · Eklentiler
MIT Lisansı ile yayımlanmıştır. Beta yazılım, tamamen bir yapay zekâ asistanı tarafından yazılmıştır, garanti verilmeden olduğu gibi sunulur.